Как исправить ошибку в коде при автотесте?
Имеется код который при проверки тестом выдает ошибку. Ошибка заключается в лишней строчке после последнего слова. Не могу понять как исправить, кто может подсказать? Вот код:
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();
}
}
