c++ - 检查字符串是否包含特定顺序字符

标签 c++

我尝试使用以下代码来检查字符串是否包含特定字符,但我想检查这些字符是否按我的代码的顺序

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/

相关文章:

c++ - 每次使用 harr cascades 进行人脸识别都会失败 b/c 程序无法加载 cascades

c++从子对象中获取父对象的实例

c++ - 将 printf 和 cout 重定向到套接字

c++ - 从抽象父类转换为子类

c++ - 什么是 boost::asio::ssl::context::load_verify_file 以及如何使用它?

c++ - 如何使用 OpenCV triangulatePoints

c++ - 在抛出 'std::regex_error' what() : Parenthesis is not closed 实例后终止调用

c++ - 在 lambda 中使用未捕获的变量

c++ - 在窗体 QT 上绘制内部小部件

c++程序崩溃链表?