Java replaceAll with accents

时间:2016-08-05 16:03:04

标签: 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 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

(O|o|ö|Ö)(r|R)(O|o|ö|Ö)(m|M)

应该适用于最初的正则表达式,然后以下是您用以下内容替换它:
    <font color='#ff0000'>$&</font>
这是因为$&amp;代表匹配的文本,因此它将匹配的文本包含在$&amp;。

周围的标签中

答案 2 :(得分:0)

找到字符串的正则表达式类似于(o | O |ö|Ö)(r | R)(o | O |ö|Ö)(m | M)