我使用WinForms c#。我有如下字符串值,
string Something = "1,5,12,34,";
我需要删除字符串中的最后一个逗号。那我怎么能删除它?
答案 0 :(得分:193)
尝试string.TrimEnd()
:
Something = Something.TrimEnd(',');
答案 1 :(得分:15)
King King's answer当然是对的。在你的案例中,Tim Schmelter's comment也是一个很好的建议。
但如果你想真的 删除字符串中的最后一个逗号,你应该找到最后一个逗号的索引并删除之类的内容;
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
输出将是;
1,5,12,3412345
这里有 demonstration
。
你不太想要这种方式,但我想指出它。请记住,String.Remove
方法不会删除原始字符串中的任何字符,而是返回新字符串。
答案 2 :(得分:2)
尝试string.Remove();
string str = "1,5,12,34,";
string removecomma = str.Remove(str.Length-1);
MessageBox.Show(removecomma);
答案 3 :(得分:2)
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;
}
答案 4 :(得分:1)
尝试以下
.. TrimEnd(“,”。ToCharArray());
答案 5 :(得分:0)
或者您可以先将其转换为Char Array:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
现在你有了每个角色indexed
:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
玩它
答案 6 :(得分:0)
末尾有空格时。您可以使用beliow。
ProcessStr = ProcessStr.Replace(" ", "");
Emails = ProcessStr.TrimEnd(';');
答案 7 :(得分:0)
试试这个, stringSomething1=Something.Substring(0,Something.Length - 1);
答案 8 :(得分:-1)
Dim psValue As String = "1,5,12,34,123,12"
psValue = psValue.Substring(0, psValue.LastIndexOf(","))
输出:
1,5,12,34,123