在文本文件中,单词之间具有可变的空格,是否存在一种更好的搜索和匹配给定句子的方法?
例如,如果文本文件包含以下短语,其间隔(空格和制表符)如下:
Java is a\t\tgreat programming\tlanguage.
给定输入词,什么是最有效的匹配方式?
一种明显的方法是剥离(或忽略)空格并匹配非空白字符序列,这可以通过标准的Java I / O和字符串操作功能来实现。
答案 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");
}