我需要替换字符串中的重复字符。我尝试使用
outputString = str.replaceAll("(.)(?=.*\\1)", "");
这会替换重复的字符,但字符的位置会发生变化,如下所示。
input
haih
output
aih
但我需要得到一个输出hai
。也就是说,字符串中出现的字符的顺序不应改变。下面给出了一些输入的预期输出。
input
aaaassssddddd
output
asd
input
cdddddggggeeccc
output
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)