0

我想创建一个简单的程序,我有一个字符串数组,对于每个字符串我想检查它是否包含指定的字符,我想删除它。首先我用空格替换指定的字符,当我尝试修剪时它不起作用的空间这是我的代码

char[] arr = new char[] {' '};
for (int i = 0; i < words.Length; i++)
{
    words[i] = words[i].Replace('0', ' ');
    words[i] = words[i].Trim(arr);
}
4

3 回答 3

4

如果要删除所有空格,而不是words[i] = words[i].Trim(arr);,可以使用:

words[i] = words[i].Replace(" ", string.Empty);

就个人而言,我也会为您的第一次删除 (0) 执行此操作:

words[i] = words[i].Replace("0", string.Empty); // Remove all "0" characters
words[i] = words[i].Replace(" ", string.Empty); // Remove all spaces

甚至:

words[i] = words[i].Replace("0", string.Empty).Replace(" ", string.Empty); 
于 2012-05-24T01:02:54.340 回答
3

Trim()只删除前导和尾随空格。它不会删除字符串中间的空格。不过,真的没有必要做所有这些工作。您可以Replace()通过调用适当的重载来进行一次调用:

for(int i = 0; i < words.Length; i++)
    words[i] = words[i].Replace("0", "");
于 2012-05-24T01:01:43.637 回答
1

对于喜欢单线的人:

words = words.Select(i => i.Replace("0", "").Replace(" ", "")).ToArray();
于 2013-05-18T05:44:24.453 回答