假设我有一个字符串:
"34234234d124"
我想要得到这个字符串的最后四个字符,这个字符串是“d124”。我可以使用SubString,但它需要几行代码,包括命名一个变量。
是否有可能在c#的一个表达式中得到这个结果?
假设我有一个字符串:
"34234234d124"
我想要得到这个字符串的最后四个字符,这个字符串是“d124”。我可以使用SubString,但它需要几行代码,包括命名一个变量。
是否有可能在c#的一个表达式中得到这个结果?
当前回答
public static string Last(this string source, int tailLength)
{
return tailLength >= source.Length ? source : source[^tailLength..];
}
其他回答
mystring.Substring(Math.Max(0, mystring.Length - 4)); //how many lines is this?
如果你确定字符串的长度至少是4,那么它甚至更短:
mystring.Substring(mystring.Length - 4);
使用Substring实际上是非常简短和可读的:
var result = mystring.Substring(mystring.Length - Math.Min(4, mystring.Length));
// result == "d124"
就是这样:
int count = 4;
string sub = mystring.Substring(mystring.Length - count, count);
你可以使用扩展方法:
public static class StringExtension
{
public static string GetLast(this string source, int tail_length)
{
if(tail_length >= source.Length)
return source;
return source.Substring(source.Length - tail_length);
}
}
然后调用:
string mystring = "34234234d124";
string res = mystring.GetLast(4);
string mystring = "34234234d124";
mystring = mystring.Substring(mystring.Length-4)