Как исправить ошибку в коде при автотесте?

Имеется код который при проверки тестом выдает ошибку. Ошибка заключается в лишней строчке после последнего слова. Не могу понять как исправить, кто может подсказать? Вот код:

package practice.regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class SplitText {

  public static void main(String[] args) {
    System.out.println(splitTextIntoWords(""));

  }

  public static String splitTextIntoWords(String text) {
    //TODO реализуйте метод
    String result = "";
    String regex = "['a-zA-Z]+";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(text);
    while (matcher.find()){
      int start = matcher.start();
      int end = matcher.end();
      result = result.concat(text.substring(start, end)).concat("\n");
    }
    return result;
  }

}

Вот скрин ошибки: введите сюда описание изображения


Ответы (1 шт):

Автор решения: Arina

Ответ как всегда прост. Всего-то надо было использовать метод for с проверкой if. Код получается следующим:

package practice.regex;


public class SplitText {

  public static void main(String[] args) {
    String text = "";
    System.out.println(splitTextIntoWords(text));
  }

  public static String splitTextIntoWords(String text) {
    //TODO реализуйте метод

    text = text.replaceAll("\\p{Punct}|[0-9]", " ");
    String[] word = text.split("\\s+");
    StringBuilder result = new StringBuilder(word[0]);
    for (int i =1; i < word.length; i++) {
      if (word[i].equals("\n")) {
        return word[i];
      }
      result.append("\n").append(word[i]);
    }

    return result.toString();
  }

}
→ Ссылка