2016-08-05 46 views
0

所以基本上我有一個這樣的字符串:的Java的replaceAll與口音

"orom asd örom asddfkdjk öröm lkkllkl Örom oRÖM" 

我想搜索其中的單詞「OROM」,我需要回到這個字符串:

"<font color='#ff0000'>orom</font> asd <font color='#ff0000'>örom</font> asddfkdjk <font color='#ff0000'>öröm</font> lkkllkl <font color='#ff0000'>Örom</font> <font color='#ff0000'>oRÖM</font>" 

我怎樣才能做到這一點與一個簡單的replaceAll和正則表達式?

回答

3
String str = "orom asd örom asddfkdjk öröm lkkllkl Örom oRÖM"; 
System.out.println(str.replaceAll("([oOöÖ][rR][oOöÖ][mM])", "<font color='#ff0000'>$1</font>"));  

這應該爲你工作,並給你以下。

<font color='#ff0000'>orom</font> asd <font color='#ff0000'>örom</font> asddfkdjk <font color='#ff0000'>öröm</font> lkkllkl <font color='#ff0000'>Örom</font> <font color='#ff0000'>oRÖM</font> 
0
(O|o|ö|Ö)(r|R)(O|o|ö|Ö)(m|M) 

如果初始正則表達式的工作,那麼下面就是你將其替換爲:
<font color='#ff0000'>$&</font>
這是因爲$ &表示匹配的文本,所以它包圍在標籤匹配的文本圍繞$ &。

0

查找的字符串將像(O | O | O | O)正則表達式(R | R)(O | O | O | O)(M | M)