簡體   English   中英

在字符串中的第一個單詞之前替換空格,然后刪除多余的空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM