我使用WinForms c#。我的字符串值如下
string Something = "1,5,12,34,";
我需要删除字符串中的最后一个逗号。那我怎么删除它呢?
Answers:
尝试string.TrimEnd()
:
Something = Something.TrimEnd(',');
国王国王的答案当然是正确的。另外,蒂姆·施梅尔特(Tim Schmelter)的评论也很适合您。
但是,如果要真正 删除字符串中的最后一个逗号,则应找到最后一个逗号的索引并删除like;
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
输出将是;
1,5,12,3412345
这里一个demonstration
。
您不太可能希望这样,但我想指出这一点。请记住,String.Remove
方法不会删除原始字符串中的任何字符,它会返回新字符串。
TrimEnd方法采用输入字符数组而不是字符串。下面来自Dot Net Perls的代码显示了一个如何执行与TrimEnd相同功能的更有效示例。
static string TrimTrailingChars(string value)
{
int removeLength = 0;
for (int i = value.Length - 1; i >= 0; i--)
{
char let = value[i];
if (let == '?' || let == '!' || let == '.')
{
removeLength++;
}
else
{
break;
}
}
if (removeLength > 0)
{
return value.Substring(0, value.Length - removeLength);
}
return value;
}
或者,您可以先通过以下方式将其转换为Char Array:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
现在您有了每个角色indexed
:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
在它周围玩
Dim psValue As String = "1,5,12,34,123,12"
psValue = psValue.Substring(0, psValue.LastIndexOf(","))
输出:
1,5,12,34,123
string
?我假设是因为有一个将逗号连接到int
s的循环。您可以string.Join(",", ints)
改用。首先避免了逗号结尾。