假设我有一个字符串:
"34234234d124"
我想要得到这个字符串的最后四个字符,这个字符串是“d124”。我可以使用SubString,但它需要几行代码,包括命名一个变量。
是否有可能在c#的一个表达式中得到这个结果?
假设我有一个字符串:
"34234234d124"
我想要得到这个字符串的最后四个字符,这个字符串是“d124”。我可以使用SubString,但它需要几行代码,包括命名一个变量。
是否有可能在c#的一个表达式中得到这个结果?
当前回答
mystring = mystring.Length > 4 ? mystring.Substring(mystring.Length - 4, 4) : mystring;
其他回答
对我来说,使用范围操作符是最简单的方法。不需要太多代码。
在你的情况下,你可以得到你想要的:
// the ^ operator indicates the element position from the end of a sequence
string str = "34234234d124"[^4..]
就是这样:
int count = 4;
string sub = mystring.Substring(mystring.Length - count, count);
使用Substring实际上是非常简短和可读的:
var result = mystring.Substring(mystring.Length - Math.Min(4, mystring.Length));
// result == "d124"
好吧,我知道这是一篇旧文章,但为什么我们要重写框架中已经提供的代码呢?
我建议您添加一个对框架DLL "Microsoft. DLL "的引用。VisualBasic”
using Microsoft.VisualBasic;
//...
string value = Strings.Right("34234234d124", 4);
mystring = mystring.Length > 4 ? mystring.Substring(mystring.Length - 4, 4) : mystring;