Java 如何去掉字符串中的多个空格并保留一个

Java 如何去掉字符串中的多个空格并保留一个,java,string,spaces,Java,String,Spaces,我正在尝试一种方法,它可以修复句子。因此,例如,如果句子是thecookieisbrown,它将返回cookieisbrown。。现在,我正在尝试空间固定器部分,其中多个空间将被分析并转化为单个空间。这是我目前掌握的代码。有没有人能告诉我,我该如何着手修复这些空间并清除不必要的空间?我知道它还没有完成。我目前正在尝试修复这些空间。下面是我的代码 public static String sentenceRepair(String sentence){ String finale=

我正在尝试一种方法,它可以修复句子。因此,例如,如果句子是thecookieisbrown,它将返回cookieisbrown。。现在,我正在尝试空间固定器部分,其中多个空间将被分析并转化为单个空间。这是我目前掌握的代码。有没有人能告诉我,我该如何着手修复这些空间并清除不必要的空间?我知道它还没有完成。我目前正在尝试修复这些空间。下面是我的代码

    public static String sentenceRepair(String sentence){
    String finale="";
    for (int x=0;x<sentence.length();x++){
        char a= sentence.charAt(x);
        if (sentence.charAt(x)==' '){       //SPACE CHECKER!!
            if((x!=0&&x!=sentence.length())&&(sentence.charAt(x-1)==' '||sentence.charAt(x+1)==' ')){
                sentence.charAt(x)="";
            }
        }
    }
    return finale;
}
我会使用正则表达式:

public static String sentenceRepair(String sentence){
  return sentence.replaceAll(" +", " ");
}

您的版本比需要的复杂得多

String str = " hello     there   ";
str = str.replaceAll("( +)"," ").trim());
此代码将所有多个空格替换为一个空格,并使用正则表达式代码删除字符串前面和末尾的所有空格

我认为这是此代码的重复: