我需要替换字符串中的重复字符.我试过用
outputString = str.replaceAll("(.)(?=.*\\1)","");
这将替换重复的字符,但字符的位置会发生变化,如下所示.
输入
haih
产量
aih
但我需要得到一个输出hai.也就是说,字符串中出现的字符的顺序不应该改变.以下是某些投入的预期产出.
输入
aaaassssddddd
产量
asd
输入
cdddddggggeeccc
产量
cdge
怎么能实现这一目标?
解决方法
好像你的代码留下了最后一个字符,那么这个怎么样?
outputString = new StringBuilder(str).reverse().toString(); // outputString is now hiah outputString = outputString.replaceAll("(.)(?=.*\\1)",""); // outputString is now iah outputString = new StringBuilder(outputString).reverse().toString(); // outputString is now hai