我有以下文字使用正則表達式
替換Java中的字符SQUENCE「這球ISN?t你,這個人是約翰?的」
我要糾正這是
「這個球不是你的,這是一個約翰的」
我怎樣才能做到這一點在Java中使用模式和匹配?
我有以下文字使用正則表達式
替換Java中的字符SQUENCE「這球ISN?t你,這個人是約翰?的」
我要糾正這是
「這個球不是你的,這是一個約翰的」
我怎樣才能做到這一點在Java中使用模式和匹配?
在這種情況下,你可以使用:
s = s.replaceAll("\\b?\\b", "'");
然後你就不太可能取代合法的問號,因爲@glowcoder提及。不過,我認爲@Philipp是對的,這實際上是一個字符編碼問題。它看起來像你的文字應該是:
"This ball isn’t yours, this one is John’s"
如果它被編碼爲CP-1252,但解碼成ASCII,捲曲單引號將與問號代替。如果是這種情況,您可能會發現其他字符,例如捲曲雙引號(「 」
),連字符(–
)和em-dash(—
),這些字符已以相同的方式被消除。
這是一個字符編碼問題的驗屍修復? –
任何你想使用正則表達式的原因,而不是用另一個字符序列替換一個字符序列? –
你將如何避免'這是約翰的球嗎?'從變成'這是約翰的球'嗎? – corsiKa