我尝试使用以下代码来检查字符串是否包含特定字符,但我想检查这些字符是否按我的代码的顺序
string string1= "Amed";
string string2= "Anbhsmegfd";
std::string x(string1);
if (x.find_first_not_of(string2) != std::string::npos)
{
std::cerr << "Error\n";
}
在我的代码中检查字符串是否包含给出 string1 的字符,但我想检查是否按顺序找到这个字符 举个例子
string1 ="Amed";
string2= "Aehdkm"
在string2中找到string1
但我需要输出为 error
因为 e
出现在 m
之前
我该怎么做?
最佳答案
这样的事情对你有用吗?
string s1 = "Amed";
string s2 = "Aehkm";
size_t k = 0;
for (size_t i = 0; i < s2.size(); ++i)
if (s1[k] == s2[i]) {
k++;
if (k == s1.size()) {
cout << "found" << endl;
break;
}
}
关于c++ - 检查字符串是否包含特定顺序字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813165/