我想创建一个方法,它将从字符串中删除所有重复项,或者只保留基于参数的同一行中的2个字符。在一行中删除重复的相同字符
例如:
helllllllo -> helo
或
helllllllo -> hello
- 这样可以使双字母
目前我做删除重复:
private String removeDuplicates(String word) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < word.length(); i++) {
char letter = word.charAt(i);
if (buffer.length() == 0 && letter != buffer.charAt(buffer.length() - 1)) {
buffer.append(letter);
}
}
return buffer.toString();
}
如果我想保持双字母我正在考虑像私人字符串一样的方法
当doubleLetter
是真的,那将返回hello
没有helo
我不知道最有效的方式做到这一点,而无需复制大量的代码。
的StringBuilder可能会更好一点 – BlackJoker
你也可以simly递增的,如果循环计数器,并添加另一个如果循环,只有追加字母,当计数器低于一个阈值---这将是一个通用版本,可以处理任意数量的重复数据(但是您应该确保在扫描最后一个字母后重新设置计数器)。 –