我想從字符串中除去數字和度數符號°以外的所有特殊字符。我如何使用正則表達式來做到這一點?從字符串中除去數字和度符號以外的所有特殊字符?
我知道.replaceAll(「[^ a-zA-Z0-9] +」,「」)會刪除所有特殊字符,我怎麼把度符號放回去?
我想從字符串中除去數字和度數符號°以外的所有特殊字符。我如何使用正則表達式來做到這一點?從字符串中除去數字和度符號以外的所有特殊字符?
我知道.replaceAll(「[^ a-zA-Z0-9] +」,「」)會刪除所有特殊字符,我怎麼把度符號放回去?
您可以使用\W
並使用字符類減法:
.replaceAll("[\\W_&&[^°]]+","")
另一種方式是度數符號添加到您自否定的字符類匹配的否定字符類所有字符除以外的字符級別:
.replaceAll("[^a-zA-Z0-9°]+","")
^
測試:http://www.ocpsoft.org/tutorials/regular-expressions/java-visual-regex-tester/。
出於某種原因,我的學位符號也打印了一個旋律,Â。你有沒有經歷過這個? – santafebound
這只是表示ASCII中的文本被編碼爲UTF8。這是一個常見的編碼問題 –
這是一個遺憾http://www.ocpsoft.org/tutorials/regular-expressions/java-visual-regex-tester/不會生成共享鏈接。請注意,如果您想在結果字符串中保留'_',則應按照上面的模式顯示添加它。否則,如果你應該從模式中刪除它。 –
你們爲什麼不乾脆把度字符在排除類? – njzk2