C# 删除字符串c中的最后一个特定字符#
我使用WinForms c#。我有如下字符串值C# 删除字符串c中的最后一个特定字符#,c#,trim,C#,Trim,我使用WinForms c#。我有如下字符串值 string Something = "1,5,12,34,"; 我需要删除字符串中的最后一个逗号。那么如何删除它呢?试试string.TrimEnd(): 尝试string.Remove() 这当然是对的。对你来说,这也是一个很好的建议 但是如果你想真的删除字符串中的最后一个逗号,你应该找到最后一个逗号的索引,然后像这样删除 string s = "1,5,12,34,12345"; int index = s.LastIndexOf(',')
string Something = "1,5,12,34,";
我需要删除字符串中的最后一个逗号。那么如何删除它呢?试试string.TrimEnd()
:
尝试string.Remove()代码>
这当然是对的。对你来说,这也是一个很好的建议
但是如果你想真的删除字符串中的最后一个逗号,你应该找到最后一个逗号的索引,然后像这样删除
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
输出将是
1,5,12,3412345
这里有一个
你不太可能想这样,但我想指出一点。请记住,该方法不会删除原始字符串中的任何字符,而是返回新字符串。或者您可以先通过以下方法将其转换为字符数组:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
现在,每个字符都已编入索引
:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
围绕它播放TrimEnd方法采用输入字符数组,而不是字符串。 下面的代码显示了如何执行与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;
}
输出:
1,5,12,34,123
试试下面
某物..修剪(“,”.ToCharArray()) 当末尾有空格时。你可以用beliow
ProcessStr = ProcessStr.Replace(" ", "");
Emails = ProcessStr.TrimEnd(';');
试试这个,
字符串Something1=Something.Substring(0,Something.Length-1) 为什么有这样一个
字符串
?我假设是因为一个循环将逗号连接到int
s。您可以改用string.Join(“,”,ints)
。这就避免了首先使用逗号。这是最好的解决方案,因为它适用于所有字符串,包括您事先不知道字符串是否以逗号结尾的情况。这就是为什么我仍然在搜索解决方案,即使是我可以轻松编写的内容。通常是其他人解决了这个问题。:)所以单引号不是一个错误。今天我学习了char和string分别用单引号和双引号定义。问题是关于C#而不是VB。
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(';');