文本搜索不带空格

时间:2020-01-25 19:14:54

标签: java string pattern-matching full-text-search matching

在文本文件中,单词之间具有可变的空格,是否存在一种更好的搜索和匹配给定句子的方法?

例如,如果文本文件包含以下短语,其间隔(空格和制表符)如下:

Java   is a\t\tgreat     programming\tlanguage.

给定输入词,什么是最有效的匹配方式?

一种明显的方法是剥离(或忽略)空格并匹配非空白字符序列,这可以通过标准的Java I / O和字符串操作功能来实现。

1 个答案:

答案 0 :(得分:1)

仅使用\\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");
}