从字符串中删除空格

4

我有很多这样的字符串:

current            affairs

我希望你能将字符串变为:

current affairs

我尝试使用Trim(),但它并不能完成工作。

2
仅供参考,Trim() 只会从字符串的开头和结尾删除空格。 - Reinstate Monica Cellio
6个回答

11

正则表达式可以胜任这个工作

string_text = Regex.Replace(string_text, @"\s+", " ");

5
另外一种更快的方法是:Regex.Replace(myString, "\\s{2,}", ""),这样你就不会把单个空格替换为它们自己。在我的测试中可以提高约30%的效果。 - Joey

6
您可以使用正则表达式来进行替换,参见Regex.Replace
var normalizedString = Regex.Replace(myString, " +", " ");

如果你想要所有类型的空格,使用@"\s+"而不是仅处理空格的"+"
var normalizedString = Regex.Replace(myString, @"\s+", " ");

0
使用正则表达式。
yourString= Regex.Replace(yourString, @"\s+", " ");

0
你可以使用正则表达式:
public string RemoveMultipleSpaces(string s) 
{
    return Regex.Replace(value, @"\s+", " ");
}

之后:

string s = "current            affairs  ";
s = RemoveMultipleSpaces(s);

0

在这里使用正则表达式是一个好办法,

System.Text.RegularExpressions.Regex.Replace(input, @”\s+”, ” “);

这将删除所有空格字符,包括制表符、换行符等。


-1

首先,您需要将整个字符串拆分,然后对每个项应用修剪。

  string [] words = text.Split(' ');
  text="";
  forearch(string s in words){
    text+=s.Trim();
  }
  //text should be ok at this time

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接