如何摆脱字符串中的多个空格并留下一个空格

时间:2018-05-06 21:06:54

标签: java string spaces

我正在尝试制作一个方法来修复"句子。因此,例如,如果句子是" Cookie是BROWN"它将返回"饼干是棕色的。"。现在我正在努力研究"太空修理工"部分,将分析多个空间并转变为单个空间。这是我到目前为止的代码。有人能告诉我如何修复空间并摆脱不必要的空间吗?我知道它尚未完成。我目前只是想修复空间。以下是我的代码。

    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;
}

2 个答案:

答案 0 :(得分:1)

我会使用正则表达式:

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

答案 1 :(得分:0)

你的版本比它需要的要复杂得多

String str = " hello     there   ";
str = str.replaceAll("( +)"," ").trim());

此代码用一个空格替换所有多个空格,并使用正则表达式删除字符串前面和末尾的每个空格&#34;代码&#34;