2012-04-24 111 views

回答

1

爲什麼不使用:s/\s+/ /g

哦,剛剛意識到,不佔先導和尾隨空間。你可以通過這個表達式運行輸入,然後再到一個以上照顧那些太:

s/^\s+|\s+$// 
1

如何只用一個空格代替\s+? (假設我們不受限於單行匹配)。 (如果我們使用一些逐行替換的正則表達式,比如一些Unix工具,我們將會刪除所有前導空白和尾隨空白,用一個空格替換內部空白區域,並刪除空行或只包含空格)。

您是否嘗試將此應用於HTML文檔的某些部分,同時保留其他區域的空白?如果是這樣,請用反映此要求的示例更新您的問題。

0

如果正在使用Java,

String normalizeSpace = str.replaceAll("\\s+", " "); 

Commons Lang 2.6在類StringUtils包含具有相同功能(包括控制字符,字符< = 32)的方法normalizeSpace

相關問題