【问题标题】:Filtering whole words with delimiter用分隔符过滤整个单词
【发布时间】:2014-03-02 22:58:26
【问题描述】:

我有一个分隔符可以过滤掉符号和数字。我的程序正在读取一个文件,我想从中排除一些单词,但不是所有单词。这可能听起来令人困惑,但例如。如果我文件中的第一行包含单词light,第二行包含单词lightning,是否可以以某种方式过滤掉light,但保留lightning

这是我设置的代码和分隔符。

String delimiters = " ,*.-?|\t\r\n^;{}()[]+=<>/1234567890_";
ASCIIDataFile file = new ASCIIDataFile();

【问题讨论】:

    标签: java regex filter delimiter


    【解决方案1】:

    您是否使用分隔符进行任何拆分或替换操作? 您可以在拆分/替换操作中使用:正则表达式 - "\blight\b",它将匹配 "light" 而不是 "lightning"。

    您可以验证/测试这一点@JavaScript RegExp Example

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      你可以在java中使用模式匹配

      Set<String> Word = new TreeSet<String>(); 
      while((line=br.readLine()) != null) {
                                  Pattern pattern = Pattern.compile("^YourString");
                                  Matcher matcher = pattern.matcher(line);
                                  while(matcher.find()) {
                                      Word.add(line);
                                  }
                              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-29
        • 1970-01-01
        • 2011-09-11
        相关资源
        最近更新 更多