C# 替换字符串中第一个单词前的空格,然后删除多余的空格
我有这样的字符串:C# 替换字符串中第一个单词前的空格,然后删除多余的空格,c#,regex,string,C#,Regex,String,我有这样的字符串: 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 ""; } }
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"
如何操作?在运行
Regex.Replace()
之后,您可以轻松地运行Trim()
:
但是,如果希望单个正则表达式删除连续空格并修剪尾随空格,可以尝试以下正则表达式:
^\s+|\s+$|\s+(?=\s)
什么都没有取代
^\s+
匹配字符串开头的所有空格
\s+$
匹配字符串末尾的所有空格
\s+(?=\s)
将匹配所有连续空格并保留一个。在运行Regex.Replace()后,您可以轻松地运行Trim()
:
但是,如果希望单个正则表达式删除连续空格并修剪尾随空格,可以尝试以下正则表达式:
^\s+|\s+$|\s+(?=\s)
什么都没有取代
^\s+
匹配字符串开头的所有空格
\s+$
匹配字符串末尾的所有空格
\s+(?=\s)
将匹配所有连续的空格并留下一个。我会完全避免使用正则表达式,因为它们几乎总是很难维护。如果有更直接的选择,我会用它
这个怎么样:
private string removeThem(string str)
{
return String.Join(" ", (str ?? "").Split(new [] { ' ' },
StringSplitOptions.RemoveEmptyEntries));
}
我会完全避免使用正则表达式——它们几乎总是很难维护。如果有更直接的选择,我会用它
这个怎么样:
private string removeThem(string str)
{
return String.Join(" ", (str ?? "").Split(new [] { ' ' },
StringSplitOptions.RemoveEmptyEntries));
}
在执行regex.replace之后可以使用trim,对吗?在执行regex.replace之后可以使用trim,对吗?