【问题标题】:Text search without spaces不带空格的文本搜索
【发布时间】:2020-05-11 17:37:48
【问题描述】:

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

例如,如果文本文件包含以下带有空格(空格和制表符)的短语,如下所示

Java   is a\t\tgreat     programming\tlanguage.

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

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

【问题讨论】:

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


    【解决方案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");
    }
    

    【讨论】:

    • 当然。不过,这是标准方式。我想知道是否有任何更聪明的方法。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多