替换字符串中第一个单词之前的空格,然后删除多余的空格
本文关键字:空格 删除 多余 然后 字符串 第一个 单词之 替换 | 更新日期: 2023-09-27 18:32:10
我有这样的字符串:
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()
:
string str = str.Trim();
但是,如果您希望单个正则表达式删除连续空格并修剪尾随空格,则可以尝试以下正则表达式:
^'s+|'s+$|'s+(?='s)
一无所有。
^'s+
匹配字符串开头的所有空格;
's+$
匹配字符串末尾的所有空格;
's+(?='s)
将匹配所有连续空格并留下一个空格。
我会完全避免正则表达式 - 它们几乎总是难以维护。如果有更直接的选择,我会使用它。
这个怎么样:
private string removeThem(string str)
{
return String.Join(" ", (str ?? "").Split(new [] { ' ' },
StringSplitOptions.RemoveEmptyEntries));
}