从字符串JAVA中删除序列字符

YÒG*_*ÒGÎ 1 java string trim character sequence

输入将是,像,

iii,我非常喜欢java soooo

而预期的输出就像

嗨,我非常喜欢java

对于我的模糊编码如下,

List<String> wordList = Arrays.asList(word.split(""));
String previousCharacter;
boolean inneFlag = false;
boolean flag = false;
int iterator = 0;
int characterIterator = 0;
String finalizedWord = "";
previousCharacter = wordList.get(0);
for(String character : wordList){
    if((wordList.size()-1)==characterIterator){
          inneFlag = true;
     }
     if(flag){
         if(character.equalsIgnoreCase(previousCharacter)){
              iterator++;
              if(inneFlag){
                   if(iterator>2){
                        finalizedWord = finalizedWord.substring(0,(finalizedWord.length()-iterator));
                    }
               }
         }else{
              previousCharacter = character;
              if(iterator>=2){
                  finalizedWord = finalizedWord.substring(0,(finalizedWord.length()-iterator));
              }
              iterator = 0;
           }
       }else{
            flag = true;
       }
    characterIterator++;
    finalizedWord += character;
}
Run Code Online (Sandbox Code Playgroud)

谁能给出更好的解决方案?

Avi*_*Raj 5

一个简单的正则表达式将完成这项工作.

string.replaceAll("([A-Za-z])\\1+", "$1");
Run Code Online (Sandbox Code Playgroud)

要么

string.replaceAll("(.)\\1+", "$1");
Run Code Online (Sandbox Code Playgroud)

DEMO