假设我有一个字符串:
"34234234d124"
我想要得到这个字符串的最后四个字符,这个字符串是“d124”。我可以使用SubString,但它需要几行代码,包括命名一个变量。
是否有可能在c#的一个表达式中得到这个结果?
假设我有一个字符串:
"34234234d124"
我想要得到这个字符串的最后四个字符,这个字符串是“d124”。我可以使用SubString,但它需要几行代码,包括命名一个变量。
是否有可能在c#的一个表达式中得到这个结果?
当前回答
下面是另一个应该不会太糟糕的替代方案(因为延迟执行):
新的字符串(mystring.Reverse (), (4) .Reverse () .ToArray ());
虽然mystring.Last(4)的扩展方法显然是最干净的解决方案,尽管要做更多的工作。
其他回答
mystring.Substring(Math.Max(0, mystring.Length - 4)); //how many lines is this?
如果你确定字符串的长度至少是4,那么它甚至更短:
mystring.Substring(mystring.Length - 4);
string x = "34234234d124";
string y = x.Substring(x.Length - 4);
好吧,我知道这是一篇旧文章,但为什么我们要重写框架中已经提供的代码呢?
我建议您添加一个对框架DLL "Microsoft. DLL "的引用。VisualBasic”
using Microsoft.VisualBasic;
//...
string value = Strings.Right("34234234d124", 4);
一个简单的解决方案是:
string mystring = "34234234d124";
string last4 = mystring.Substring(mystring.Length - 4, 4);
这工作得很好,因为如果字符串中的字符比请求的数量少,也不会出现错误。
using System.Linq;
string.Concat("123".TakeLast(4));