嘗試從html文檔中的名稱集合中刪除空格和製表符時遇到問題。正則表達式 - 需要刪除除單詞外的所有字符,允許一個空格繼續單詞
例:
FU BAR
RE BAR NULL
我需要我的迴應僅僅是:
FU BAR RE BAR NULL
我一直在試圖:
[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+
,仍然有一些零零落落的空格或製表符結束留下。有什麼建議嗎?
嘗試從html文檔中的名稱集合中刪除空格和製表符時遇到問題。正則表達式 - 需要刪除除單詞外的所有字符,允許一個空格繼續單詞
例:
FU BAR
RE BAR NULL
我需要我的迴應僅僅是:
FU BAR RE BAR NULL
我一直在試圖:
[^A-Z]+([[A-Z]{1,}\s]+)[\s\r\n\t]+
,仍然有一些零零落落的空格或製表符結束留下。有什麼建議嗎?
爲什麼不使用:s/\s+/ /g
?
哦,剛剛意識到,不佔先導和尾隨空間。你可以通過這個表達式運行輸入,然後再到一個以上照顧那些太:
s/^\s+|\s+$//
如何只用一個空格代替\s+
? (假設我們不受限於單行匹配)。 (如果我們使用一些逐行替換的正則表達式,比如一些Unix工具,我們將會刪除所有前導空白和尾隨空白,用一個空格替換內部空白區域,並刪除空行或只包含空格)。
您是否嘗試將此應用於HTML文檔的某些部分,同時保留其他區域的空白?如果是這樣,請用反映此要求的示例更新您的問題。
如果正在使用Java,
String normalizeSpace = str.replaceAll("\\s+", " ");
Commons Lang 2.6在類StringUtils包含具有相同功能(包括控制字符,字符< = 32)的方法normalizeSpace
。