[英]replace blank spaces before first word in string, then remove extra blank spaces
我有這樣的字符串:
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()
Regex.Replace()
:
string str = str.Trim();
但是,如果您希望單個正則表達式刪除連續的空格並修剪尾隨空格,則可以嘗試以下正則表達式:
^\s+|\s+$|\s+(?=\s)
一無所有。
^\\s+
匹配字符串開頭的所有空格;
\\s+$
匹配字符串末尾的所有空格;
\\s+(?=\\s)
將匹配所有連續的空格並保留一個。
我只是完全避免使用RegEx-它們幾乎總是很難維護。 如果有更直接的選擇,我會使用它。
這個怎么樣:
private string removeThem(string str)
{
return String.Join(" ", (str ?? "").Split(new [] { ' ' },
StringSplitOptions.RemoveEmptyEntries));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.