[英]Remove last specific character in a string c#
我使用 WinForms c#。我有如下的字符串值,
string Something = "1,5,12,34,";
我需要删除字符串中的最后一个逗号。 那么我该如何删除它呢?
尝试string.TrimEnd()
:
Something = Something.TrimEnd(',');
King King 的回答当然是正确的, Tim Schmelter 的评论对您的情况也是很好的建议。
但是如果你真的想删除 string 中的最后一个逗号,你应该找到最后一个逗号的索引并像这样删除它:
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
输出将是:
1,5,12,3412345
这是一个demonstration
。
您不太可能想要这种方式,但我想指出这一点。 请记住, String.Remove
方法不会删除原始字符串中的任何字符,它返回新字符串。
试试string.Remove();
string str = "1,5,12,34,";
string removecomma = str.Remove(str.Length-1);
MessageBox.Show(removecomma);
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;
}
试试下面
东西..TrimEnd(",".ToCharArray());
或者您可以先通过以下方式将其转换为 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
当你最后有空格时。 你可以使用下面。
ProcessStr = ProcessStr.Replace(" ", "");
Emails = ProcessStr.TrimEnd(';');
试试这个,stringSomething1=Something.Substring(0,Something.Length - 1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.