Java-如何解析特定单词的字符串中的单词

Jac*_*tis 4 java string parsing words

我如何解释句子中的"hi"这个词"嗨,你好吗?" 或解析"你好吗?"中的"如何"这个词?

我想要的代码示例:

String word = "hi";
String word2 = "how";
Scanner scan = new Scanner(System.in).useDelimiter("\n");
String s = scan.nextLine();
if(s.equals(word)) {
System.out.println("Hey");
}
if(s.equals(word2)) {
System.out.println("Hey");
}
Run Code Online (Sandbox Code Playgroud)

Rya*_*rle 7

要查找子字符串,您可以使用contains或者使用indexOf任何其他变体:

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

if( s.contains( word ) ) {
   // ...
}

if( s.indexOf( word2 ) >=0 ) {
   // ...
}
Run Code Online (Sandbox Code Playgroud)

如果你关心单词边界,那么StringTokenizer这可能是一个很好的方法.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/StringTokenizer.html

然后,您可以对每个单词执行不区分大小写的检查(equalsIgnoreCase).


Ano*_*on. 5

看起来像正则表达式的工作.Contains比如说会产生误报"hire-purchase".

if (Pattern.match("\\bhi\\b", stringToMatch)) { //...
Run Code Online (Sandbox Code Playgroud)