到目前为止的建议(indexOf,contains)都很好,如果你只是想找到子串.但是,鉴于你的问题的标题,我假设你真的想找到单词.例如,如果被问及"她戴着黑色手套"是否包含"爱",我的猜测是你想要的答案是否定的.
正则表达式可能是前进的最佳方式,使用围绕相关单词的单词边界:
import java.util.regex.*;
public class Test
{
public static void main(String[] args)
{
System.out.println(containsWord("I love Java", "love"));
System.out.println(containsWord("She wore gloves", "love"));
System.out.println(containsWord("start match", "start"));
System.out.println(containsWord("match at end", "end"));
}
public static boolean containsWord(String input, String word)
{
Pattern pattern = Pattern.compile("\\b" + Pattern.quote(word) + "\\b");
return pattern.matcher(input).find();
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
true
false
true
true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |