问题描述
尝试正则表达式
boolean contains = s.matches(".*\\bram\\b.*");
\ b表示单词边界
解决方法
我是编程和处理函数的新手,如果一个句子中存在一个单词,该函数将返回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
,在上面的句子中后面是逗号。
更新: 感谢每个人提供他们的意见和解决方案。我选择了一个作为可接受的答案(如果允许的话,还会选择更多的答案:-),但是有很多帮助。