我是编程和处理函数的新手,如果一个句子中存在一个单词,该函数将返回true。我尝试了该indexOf()方法,但是后来我也遇到了这种方法的一个问题:
indexOf()
假设我的句子是 I am a, Java Programmer.
I am a, Java Programmer.
如果我们看一下这个词ram用的indexOf()方法,那么它将返回true因为ram存在Programmer而应该是正确的输出false为ram不存在的词,但作为一种模式。
ram
true
Programmer
false
我该如何解决此问题?到目前为止,我正在使用的代码是:
boolean isPresent(String word, String sentence) { if(sentence.indexOf(word) >= 0) return true; else return false; }
注意: 这个词ram只是一个例子,显示了我目前的方法中的一个问题,并不是我必须一直工作,ram这个词可以是任何类似的说法a,在上面的句子中后面是逗号。
a
更新: 感谢每个人提供他们的意见和解决方案。我选择了一个作为可接受的答案(如果允许的话,还会选择更多的答案:-),但是有很多帮助。
尝试正则表达式
boolean contains = s.matches(".*\\bram\\b.*");
\ b表示单词边界