This question already has answers here:
How to find a whole word in a String in java

(13个回答)



How to search word by word in android

(5个答案)


6年前关闭。




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

假设我的句子是I am a, Java Programmer.
如果我们使用ram方法寻找单词indexOf(),那么它将返回true,因为ram中存在Programmer,而正确的输出应该是false,因为ram并不是单词,而是一个模式。

我该如何解决此问题?到目前为止,我正在使用的代码是:
boolean isPresent(String word, String sentence)
{
    if(sentence.indexOf(word) >= 0)
        return true;
    else
        return false;
}

注意:单词ram仅是显示当前方法存在问题的一个示例,并不是我必须一直使用ram,这个单词可以像a之类的,后跟逗号。在上面的句子中。

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

最佳答案

尝试正则表达式

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

\b表示单词边界

10-01 03:20
查看更多