【问题标题】:How to determine if a wordList contains one of the substrings of a phrase in Java如何确定一个wordList是否包含Java中短语的子字符串之一
【发布时间】:2015-12-30 17:26:51
【问题描述】:

我有一个 List stopWord(每个字符串只有一个单词),我有一个字符串短语(至少 2 个单词)。我想检查我的短语是否包含 Java 中的 stopWord 元素之一。我该怎么做?

if(!stopWord.contains(phrase.toLowerCase())
String delims = "[ ,-.…•“”‘’:;!()/?\"]+";

我使用了这段代码,但我认为它不理解带有 2 个单词的字符串,这是我的短语。 stopWord 的每个元素都是单个单词。我没有分裂我的短语。因为我正在处理大量数据。有没有更简单的方法?

【问题讨论】:

  • 你试过什么?我们可以看到一些代码吗? phrases 在单词之间的分隔符是什么?
  • indexOf 方法可以解决问题。
  • 是的,你很接近。我们必须解析出你的phrases,所以当我们调用contains() 方法时,我们只检查一个单词。 phrases 中的分隔符是什么?

标签: java arrays string substring


【解决方案1】:
    String[] words = phrase.split(" ");
    for (String word : words)
    {
        if (stopWord.contains(word))
        {
            // do here whatever you need :)
        }
    }

【讨论】:

  • Btw 短语是一个字符串它不是一个列表
  • @FatihAktepe:编辑并添加了新的回复,以防万一。
  • 以前的解决方案是有效的。感谢您的帮助。
【解决方案2】:

如果您使用的是 Java 8:

String phrase = "your phrase";
if (stopWord.parallelStream().anyMatch(s -> phrase.contains(s)))
{
    // do stuff here
}

【讨论】:

  • 我正在使用 Java 8 。我会检查您的解决方案并更新问题。谢谢。
  • 它并没有完全按照我想要的方式工作,但没关系。我可以从这里处理问题。非常感谢您的帮助。
猜你喜欢
  • 2015-09-16
  • 2014-06-25
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
  • 2016-12-03
  • 1970-01-01
  • 2022-12-30
相关资源
最近更新 更多