检查字符串是否在C ++中包含子字符串
在这里,我们将了解如何使用字符串库函数来匹配C ++中的字符串。在这里,我们使用该find()
操作将子字符串的出现情况添加到主字符串中。此find()
方法返回找到字符串的第一个位置。在这里,我们find()
多次使用此函数来获取所有匹配项。
如果找到该项目,则此函数返回位置。但是,如果找不到,它将返回string::npos。
因此,要检查主字符串中是否存在子字符串,我们必须检查是否find()
为string::npos的返回值。
在这里,我们只是获得子字符串存在的位置。
Input: The main string “aabbabababbbaabb” and substring “abb”Output: The locations where the substrings are found. [1, 8, 13]
算法
String_Find(main_str,sub_str)
输入-要检查的主字符串和子字符串
输出-主字符串中子字符串的位置
pos := 0while index = first occurrence of sub_str into the str in range pos to end of the string, do
print the index as there is a match
pos := index + 1
done
范例程式码
#includeusing namespace std;
main() {
string str1 = "aabbabababbbaabb";
string str2 = "abb";
int pos = 0;
int index;
while((index = str1.find(str2, pos)) != string::npos) {
cout << "Match found at position: " << index << endl;
pos = index + 1; //new position is from next element of index
}
}
输出结果
Match found at position: 1Match found at position: 8
Match found at position: 13
以上是 检查字符串是否在C ++中包含子字符串 的全部内容, 来源链接: utcz.com/z/321790.html