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

标签 java string parsing words

我如何解析“hi, how are you?”这句话中的“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");
}

最佳答案

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

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

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

if( s.indexOf( word2 ) >=0 ) {
   // ...
}

如果您关心单词边界,那么 StringTokenizer 可能是一个不错的方法。

https://docs.oracle.com/javase/1.5.0/docs/api/java/util/StringTokenizer.html

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

关于Java-如何为特定单词解析字符串中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2307326/

相关文章:

java - 将 ANTLR 解析规则映射到用于代码生成的自定义 Java AST 类

python - 从电子邮件文本中解析 "From"地址

java - Java中不使用getClass()如何区分相似对象?

string - 在 Go 中替换 Windows 换行符

java - 计算机图形学坐标与 glu (OpenGL)

c# - 为什么字符串打印为 unicode 字符而不是 C# 中的可读文本?

ruby - 我如何检查一对单词是否只有 1 个字母不同?

python - 如何解析代码(在 Python 中)?

java - android.util.Pair 在 androidTest 中将 String[] 作为参数,但在(单元)测试中为 null

java - 带有多部分消息的 HTTP gzip 编码