Самый простой способ решить задачу как я понял - использовать регулярные выражения. Погуглив, нашёл такой вариант: .replaceAll("\\p{P}", " ").split(" "); Заменяет все знаки припинания на пробелы, а потом всё это режет в массив по пробелу. Дальше вроде дело за малым, пробежаться по массиву и найти совпадения, но валидатор не пускает. Где ошибка? или лучше дайте содержимое файла, на котором можно протестить задачу.