Как избавиться от нескольких пробелов в строке и оставить один - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь создать метод, в котором он "исправляет" предложения. Так, например, если предложение «Cookie is BROwN», оно вернет «Cookie коричневого цвета». Прямо сейчас я пытаюсь работать над частью «фиксатора пространства», где несколько пробелов будут проанализированы и превращены в один пробел. Это код, который я до сих пор. Может ли кто-нибудь сказать мне, как я могу исправить положение и избавиться от ненужных пространств? Я знаю, что это еще не завершено. В настоящее время я просто пытаюсь исправить пробелы. Вот мой код ниже.

    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 голосов
/ 07 мая 2018

ваша версия намного сложнее, чем должна быть

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

Этот код заменяет все несколько пробелов одним пробелом и удаляет все пробелы перед и в конце строки, используя регулярное выражение "code"

0 голосов
/ 07 мая 2018

Я бы использовал регулярное выражение:

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