使用字符串库执行字符串匹配的 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

相关文章