如何使用Java中的正则表达式过滤掉多次出现的字符?

时间:2018-03-12 12:35:10

标签: java regex replace

我需要一个正则表达式字符串,用于删除多次出现的重复字符。

例如:

eve -> e and v
eev -> e and v

我找到了一个这样的:(.)(?=\\1)

正则表达式可以删除相邻的重复字符:eev - > e和v

但正则表达式无法删除“eve”字样后的第二个e。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Java 8,则可以使用:

String result = str.chars()
        .mapToObj(c -> String.valueOf((char) c))
        .distinct()
        .collect(Collectors.joining());

<强> I / O

eve         -> ev
eev         -> ev
evevvveeeve -> ev