我有如下字符串
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
从当前 String 对象中删除数组中指定的一组字符的所有尾随出现
该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(',')