我想从字符串中删除所有空格(仅' '
和'\t'
,' \ r \ n'应保留)。但我有问题。
实施例: 如果我有
string test = "902322\t\r\n900657\t\r\n10421\t\r\n";
string res = test.Trim(); // res still "902322\t\r\n900657\t\r\n10421\t\r\n"
res = test.Trim('\t'); // res still "902322\t\r\n900657\t\r\n10421\t\r\n"
但如果我有
string test = "902322\t";
Trim()
完美无缺。为什么会这样?我如何删除'\t
'来自使用Trim()
方法的字符串?
答案 0 :(得分:5)
String.Trim方法仅处理字符串
开头和结尾的空格所以你应该使用String.Replace method
string test = "902322\t\r\n900657\t\r\n10421\t\r\n";
string res = test.Replace("\t", String.Empty); // res is "902322\r\n900657\r\n10421\r\n"
答案 1 :(得分:0)
Trim()
删除边缘字符。您似乎想删除字符串中的任何字符,您可以通过以下方式执行:
test.Replace("\t", null);
当您将null
作为替换值传递时,它只会删除旧值。来自MSDN:
如果newValue为null,则删除所有出现的oldValue。
另请注意,您可以链接调用Replace
:
test = test.Replace("\t", null).Replace(" ", null);
答案 2 :(得分:0)
修剪仅从字符串的开头和结尾删除空格。因为第一个字符串以\ r \ n结尾,显然不被认为是空格,Trim没有看到要删除的内容。您可以使用“替换”来替换字符串中的空格和制表符。例如:
test.Replace(" ", "").Replace("\t", "");