为什么是字符串.TrimEnd未仅删除字符串中的最后一个字符
本文关键字:字符串 最后一个 删除 字符 TrimEnd 为什么 | 更新日期: 2023-09-27 18:21:12
我有如下的字符串
2,44,AAA,BBB,1,0,,,
所以现在我只想删除上面字符串中的最后一个逗号。所以我希望输出为
2,44,AAA,BBB,1,0,,
我决定使用TrimeEnd作为
str.ToString.TrimEnd(',')
但它删除了0之后的所有逗号。所以我得到的输出如下
2,44,AAA,BBB,1,0
为什么它会删除0之后的所有3个逗号?我只需要删除字符串中的最后一个字符
为什么它会删除0之后的所有3个逗号?
因为这就是它的记录:
返回值:
在trimChars
参数中所有字符出现后保留的字符串将从当前字符串的末尾删除。
如果你只想删除最后一个字符,你可以使用:
if (str.EndsWith(","))
{
str = str.Substring(0, str.Length - 1);
}
或者等效地:
if (str.EndsWith(","))
{
str = str.Remove(str.Length - 1);
}
这是意料之中的事。String.TrimEnd
从当前字符串对象中删除数组中指定的一组字符的所有后续出现
TrimEnd(char[] trimChars)
方法从当前字符串中删除trimChars
参数中的所有尾随字符当在字符串的末尾遇到不在trimChars
中的第一个字符时,修剪操作停止
使用这个替代:
str = str.EndsWith(",") ? str.Substring(0, str.Length - 1) : str;
您可以使用这个:
string s = "2,44,AAA,BBB,1,0,,,";
s = s.Remove(s.Length-1, 1);
请记住,TrimEnd()不是一个就地函数。您应该将其结果重新分配给str
:
str = str.TrimEnd(',')