检查给定单词是否出现在字符串中


C++ 具有一个预定义函数 find(),它允许从第一个元素范围搜索到最后一个元素。 在本文中,我们将了解如何使用此 find() 函数来检查给定单词是否出现在字符串中。

让我们举个例子。

给定的字符串是“John and mark have same color of t-shirt”;

为了在字符串中搜索单词,我们将创建一个表示为搜索查找器的变量。 让我们取两个变量并检查给定的单词是否存在。

Var1 = peter; - 此单词在字符串中未找到。

Var2 = mark; − 此单词在字符串中找到。

因此,我们将根据模式匹配应用条件并使其满足以在字符串中找到给定的单词。

在本文中,我们将解决给定单词是否出现在字符串中。

方法

find()

find() 是字符串中一个预定义的方法,它有助于搜索给定单词是否出现在字符串中。

string::npos

npos 表示无位置,如果它返回 true,则表示在任何位置都没有发现匹配项。

算法

  • 我们将从名为 ‘iostream’‘string’ 的头文件开始。

  • 我们正在开始主函数并将字符串值初始化为名为 ‘myString’ 的变量。 我们将从存储在此变量中的字符串中找到给定的单词。

  • 我们将创建两个变量,即 ‘word1’‘word2’。 我们将在这两个单词在 myString 变量中搜索。

  • 现在我们使用 if 语句来检查给定的单词是否出现在字符串中。

    ‘myString.find( word1 ) != string::npos’

  • 接下来,带有 ‘myString’ 变量的 find() 函数有助于搜索给定的单词,如果它不等于 string::npos,则它将返回语句,即给定单词出现在字符串中。 如果未找到该单词,则它将返回语句,即给定单词未出现在字符串中。

示例

在此程序中,我们将解决给定单词是否出现在字符串中。

#include <iostream>
#include <string>
using namespace std;
int main() {
   string myString = "The quick grey monkey jumps over the lazy dog";
   string word1 = "grey";
   string word2 = "mouse";
   // check whether the given word present in string or not.
   if ( myString.find( word1 ) != string::npos ) {
      cout << word1 << " is present in the string." << endl;
   } else {
      cout << word1 << " is not present in the string." << endl;
   }
   // second time searching the word but process is same
   if ( myString.find( word2 ) != string::npos ) {
      cout << word2 << " is present in the string." << endl;
   } else {
      cout << word2 << " is not present in the string." << endl;
   }
   return 0;
}

输出

grey is present in the string.
mouse is not present in the string.

结论

我们探讨了给定单词是否出现在字符串中的概念。 我们了解了 find() 方法如何帮助搜索给定字符串的单词,另一方面,当此方法等于 string::pos 时,它返回出现在字符串中的单词,否则单词不存在。

更新于: 2023年5月10日

785 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告