Текстовый поиск без пробелов - PullRequest
0 голосов
/ 25 января 2020

В текстовом файле с переменными пробелами между словами существует ли значительно лучший способ поиска и сопоставления заданного предложения?

Например, если текстовый файл содержит следующую фразу с пробелом ( * пробелы и символы табуляции) следующим образом

Java   is a\t\tgreat     programming\tlanguage.

каков был бы наиболее эффективный способ сопоставления его с учетом входных слов?

Очевидным подходом было бы удаление (или игнорирование) пробелов и сопоставлять последовательности непробельных символов, что можно сделать с помощью стандартных Java функций ввода-вывода и работы со строками.

1 Ответ

1 голос
/ 25 января 2020

Просто использовать \\s (сокращение от [ \t\n\x0b\r\f]) для сопоставления с любым пробелом?

final String str="Java   is a\t\tgreat     programming\tlanguage.";
final String pattern = "Java\\s+is\\s+a\\s+great\\s+programming\\s+language.";
Pattern pat = Pattern.compile(pattern);
Matcher match = pat.matcher(str);
if (match.find()) {
  System.out.println("Found");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...