2011-05-19 44 views

回答

15
string.replaceAll("[aeiou]\\B", "") 

閱讀次數:匹配所有元音([aeiou])未後跟 「字的結束」(\\B)。欲瞭解更多信息,請閱讀Javadoc java.util.regex.Pattern

+0

「\ B」不夠嗎?然而,這可能是有問題的,因爲(和'\ b')僅表示單詞和非單詞字符之間的邊界。不過,對於大多數自然語言來說,單詞字符的正則表達式是不夠的。 – Joey 2011-05-19 10:48:21

+0

注意'\ b'和'\ B'不是字符,而是零寬度的錨點。它們不消耗或匹配任何字符。 – Joey 2011-05-19 11:48:54

3

將字符串轉換爲char數組。

遍歷它。

將每個字符追加到StringBuilder,除非下一個字符是字母字符。

+1

這是很多代碼行,當你*可以*使用正則表達式時...... ;-) – 2011-05-19 10:04:56

+0

完全正確。我的錯。我花了這麼多時間告訴人們:「if語句可以做時不要使用正則表達式」或者「*不要用正則表達式解析HTML」,有時候我會忽視它們。 – 2011-05-19 14:26:36