У меня есть текст (например, "All Java programmers program good programs."
), и мне нужно вывести все слова, в которых есть program
.
Pattern pattern = Pattern.compile("program");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println(matcher.start() + " " + extractWord(matcher.start(), text));
}
Могу ли я написать Pattern
, который в целом найдет такие слова, как " программисты "как Matcher
результат?
Я сам написал метод extractWord
как:
public static String extractWord(int start, String line) {
int n = 0;
while (start + n < line.length()) {
if (line.charAt(start + n) == ' ' || line.charAt(start + n) == '.') {
break;
} else {
n++;
}
}
return line.substring(start, start + n);
}
, но мне не нравится это делать.