在字符串中找到某个单词[重复]

Posted

技术标签:

【中文标题】在字符串中找到某个单词[重复]【英文标题】:Find the certain word in the string [duplicate] 【发布时间】:2019-02-22 21:32:21 【问题描述】:

我写了一个程序,它可以识别字符串中的某个单词,但是我有一个问题。如何识别字符串中没有空格的单词? (在一个完整的字符串中)。

String string;
    String word;

    Scanner scan = new Scanner(System.in);

    string = scan.nextLine();
    word = scan.nextLine();

    if(string.matches(".*\\b" + word +"\\b.*"))

        System.out.println("found");
    

    else 

        System.out.println("Error");
    

【问题讨论】:

您的问题不清楚。请问您能举例说明输入和预期输出吗? 为什么不使用String.contains("yourword") 【参考方案1】:

如果您不需要实际找到找到的确切字符串,只需将您的正则表达式部分替换为以下部分:

if(string.matches(".*" + word + ".*"))
    System.out.println("Found");

应该可以的。

正如其他有效指出的那样,matches 函数只是告诉字符串是否与正则表达式匹配。如果你需要检查str1是否包含str2,你应该使用contains()函数。

【讨论】:

以上是关于在字符串中找到某个单词[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从单词列表中找到它在字符串中找到的单词[重复]

如何在 C++ 中的字符串向量中找到重复的单词?

PHP - 如果找到数组中的某个单词,则缩短字符串中的句子

正则表达式快速入门

检查另一个字符串中的单词列表[重复]

删除字符串中出现的重复单词