亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

空格匹配正則表達式-Java

空格匹配正則表達式-Java

蕭十郎 2019-10-08 11:00:34
用于正則表達式的Java API 聲明\s將與空白匹配。因此,正則表達式\\s\\s應匹配兩個空格。Pattern whitespace = Pattern.compile("\\s\\s");matcher = whitespace.matcher(modLine);while (matcher.find()) matcher.replaceAll(" ");這樣做的目的是用單個空格替換兩個連續空格的所有實例。但是,這實際上不起作用。我是否對正則表達式或“空白”一詞有嚴重的誤解?
查看完整描述

3 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

是的,您需要獲取matcher.replaceAll()的結果:


String result = matcher.replaceAll(" ");

System.out.println(result);


查看完整回答
反對 回復 2019-10-08
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

當我向Regexbuddy(正則表達式開發人員應用程序)論壇發送問題時,我得到了對\ s Java問題的更準確答復:

“消息作者:Jan Goyvaerts

在Java中,簡寫\ s,\ d和\ w僅包含ASCII字符。...這不是Java中的錯誤,而只是使用正則表達式時需要注意的許多事情之一。要匹配所有Unicode空格和換行符,可以在Java中使用[\ s \ p {Z}]。RegexBuddy尚不支持特定于Java的屬性,例如\ p {javaSpaceChar}(與[\ s \ p {Z}]完全相同的字符匹配)。

如果輸入僅是ASCII,則\ s \ s將匹配兩個空格。真正的問題在于OP的代碼,正如該問題的公認答案所指出的那樣?!?/p>


查看完整回答
反對 回復 2019-10-08
  • 3 回答
  • 0 關注
  • 710 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號