如何用c#中的一个空格替换字符串中的多个空格?
例子:
1 2 3 4 5
是:
1 2 3 4 5
如何用c#中的一个空格替换字符串中的多个空格?
例子:
1 2 3 4 5
是:
1 2 3 4 5
当前回答
不使用正则表达式:
while (myString.IndexOf(" ", StringComparison.CurrentCulture) != -1)
{
myString = myString.Replace(" ", " ");
}
可以在短弦上使用,但在有很多空格的长弦上表现不佳。
其他回答
myString = Regex.Replace(myString, " {2,}", " ");
其实比这简单得多:
while(str.Contains(" ")) str = str.Replace(" ", " ");
我认为Matt的答案是最好的,但我不认为它是完全正确的。如果你想替换换行符,你必须使用:
myString = Regex.Replace(myString, @"\s+", " ", RegexOptions.Multiline);
string sentence = "This is a sentence with multiple spaces";
RegexOptions options = RegexOptions.None;
Regex regex = new Regex("[ ]{2,}", options);
sentence = regex.Replace(sentence, " ");
下面的代码将所有多个空格删除为一个空格
public string RemoveMultipleSpacesToSingle(string str)
{
string text = str;
do
{
//text = text.Replace(" ", " ");
text = Regex.Replace(text, @"\s+", " ");
} while (text.Contains(" "));
return text;
}