有人可以告诉我如何用" *"替换重复的字符。在一个字符串? 输入例如:" aacbbbz" - 输出应为" ** c *** z"
谢谢。
答案 0 :(得分:2)
查看以下代码:
public class Test {
public static void main(String[] args) {
String str = "aacbbbz";
Map<Character, Integer> items = new HashMap<Character, Integer>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (items.containsKey(c)) {
int cnt = items.get(c);
items.put(c, ++cnt);
} else {
items.put(c, 1);
}
}
Set<Character> keys = items.keySet();
for (Character ch : keys) {
if (items.get(ch) > 1) {
str = str.replaceAll(ch.toString(), "*");
}
}
System.out.println("Output : " + str);
}
}
输出是
Output : **c***z