2013-09-21 16 views
0

我有這樣的字符串:字符串第一個字前更換空格,然後刪除多餘的空格

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" 

怎麼辦?

+1

你可以使用裝飾做regex.replace後,對不對? – Jerry

回答

2

我只是完全避免RegEx - 他們幾乎總是難以維護。如果有更直接的選擇,我會使用它。

如何:

private string removeThem(string str) 
{ 
    return String.Join(" ", (str ?? "").Split(new [] { ' ' }, 
     StringSplitOptions.RemoveEmptyEntries)); 
} 
3

您可以輕鬆地只是運行Regex.Replace()後運行Trim()

string str = str.Trim(); 

但是,如果你想有一個單一的正則表達式來去除連續的空格修剪尾隨空格,你可以試試這個正則表達式:

^\s+|\s+$|\s+(?=\s) 

替換爲無。

^\s+匹配字符串開始處的所有空格;

\s+$匹配字符串末尾的所有空格;

\s+(?=\s)將匹配所有連續的空格並留下一個空格。

相關問題