使用字符串库执行字符串匹配的 C++ 程序
c++server side programmingprogramming
在这里我们将看到如何使用字符串库函数在 C++ 中匹配字符串。在这里我们使用 find() 操作将子字符串的出现次数放入主字符串中。此 find() 方法返回找到字符串的第一个位置。在这里我们多次使用此 find() 函数来获取所有匹配项。
如果找到该项目,此函数将返回位置。但如果未找到,它将返回 string::npos。
输入:主字符串"aabbabababbbaabb"和子字符串"abb" 输出:找到子字符串的位置。 [1, 8, 13]
算法
String_Find(main_str, sub_str)
输入 − 主字符串和要检查的子字符串
输出 − 子字符串在主字符串中的位置
pos := 0 while index = sub_str 在 str 中第一次出现的位置,范围从 pos 到字符串末尾,do 打印索引,因为有匹配项 pos := index + 1 done
示例代码
#include<iostream> using namespace std; main() { string str1 = "aabbabababbbaabb"; string str2 = "abb"; int pos = 0; int index; while((index = str1.find(str2, pos)) != string::npos) { cout << "在位置找到匹配项:" << index << endl; pos = index + 1; //新位置来自索引的下一个元素 } }
输出:
在位置找到匹配项:1 在位置找到匹配项:8 在位置找到匹配项:13