C++中怎么查询字符串中满足一定要求的子串的位置?例如我要查字符串"11.img2.img13.i

2024-11-22 12:44:15
推荐回答(4个)
回答1:

你这种情况可以使用正则表达式来实现,正则表达式一般用于进行模式匹配,关于语法你自己还是去找一些好一点的教程来看吧!

举个例子: 比如查找字符串“12-3abc+-"中字符串"abc"的位置,我可以使用如下代码实现:

回答2:

给你写个代码自己琢磨,我语言表达能力差,怕说不清楚。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include 
#include 
using namespace std;
int main(void){
    string sa("11.img2.img13.img"),sb("1*.img"),st;
    int i,n,lb=sb.length();
    cout << "SUBSCRIPT CONTENT\n";
    cout << "=================\n";
    for(n=sa.length()-lb,i=0;i<=n;i++){
        st=sa.substr(i,lb);
        if(sb[1]=st[1], sb==st)
            cout << "   " << i << "\t   " << st << endl;
    }
    return 0;
}

回答3:

先去了解下正则表达式吧 1\w?.img 匹配一下 懂 了麽

回答4:

2