一尘不染

如何使用Java检查句子中是否存在单词?

java

我是编程和处理函数的新手,如果一个句子中存在一个单词,该函数将返回true。我尝试了该indexOf()方法,但是后来我也遇到了这种方法的一个问题:

假设我的句子是 I am a, Java Programmer.

如果我们看一下这个词ram用的indexOf()方法,那么它将返回true因为ram存在Programmer而应该是正确的输出falseram不存在的词,但作为一种模式。

我该如何解决此问题?到目前为止,我正在使用的代码是:

boolean isPresent(String word, String sentence)
{
    if(sentence.indexOf(word) >= 0)
        return true;
    else
        return false;
}

注意:
这个词ram只是一个例子,显示了我目前的方法中的一个问题,并不是我必须一直工作,ram这个词可以是任何类似的说法a,在上面的句子中后面是逗号。

更新: 感谢每个人提供他们的意见和解决方案。我选择了一个作为可接受的答案(如果允许的话,还会选择更多的答案:-),但是有很多帮助。


阅读 288

收藏
2020-12-03

共1个答案

一尘不染

尝试正则表达式

boolean contains = s.matches(".*\\bram\\b.*");

\ b表示单词边界

2020-12-03