我有像:
这样的字符串string stuff = " this is something you could use one day";
我正在使用以下功能删除多余的空格:
private string removeThem(string str) {
if (str!= null){
return Regex.Replace(str, @"\s+", " ");
}else{
return "";
}
}
所以在应用该功能后我得到了:
" this is something you could use one day"
但我想:
"this is something you could use one day"
怎么做?
答案 0 :(得分:3)
运行Trim()
后,您可以轻松运行Regex.Replace()
:
string str = str.Trim();
但是如果你想要一个正则表达式删除连续的空格和修剪尾随空格,你可以试试这个正则表达式:
^\s+|\s+$|\s+(?=\s)
替换为空。
^\s+
匹配字符串开头的所有空格;
\s+$
匹配字符串末尾的所有空格;
\s+(?=\s)
将匹配所有连续的空格并留下一个。
答案 1 :(得分:2)
我完全避免使用RegEx--它们几乎总是难以维护。如果有更直接的选择,我会使用它。
这个怎么样:
private string removeThem(string str)
{
return String.Join(" ", (str ?? "").Split(new [] { ' ' },
StringSplitOptions.RemoveEmptyEntries));
}