在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法。而对于C++的string,我们往往会用到find()。
C++:#inlcude<string>
C: #include<string.h>
find():在一个字符串中查找一个指定的单个字符或字符数组。如果找到,就返回首次匹配的开始位置;如果没有查找到匹配的内容,就返回string::npos。
find_first_of():在一个目标串中进行查找,返回值是第一个与指定字符组中任何字符匹配的字符位置。如果没有查找到匹配的内容,则返回npos。
find_last_of():在一个目标串中进行查找,返回最后一个与指定字符组中任何字符匹配的字符位置。如果没有查找到匹配的内容,则返回npos。
find_first_not_of():在一个目标串中进行查找,返回第一个与指定字符组中任何字符都不匹配的元素位置。如果找不到那样的元素则返回npos。
find_last_not_of():在一个目标串中进行查找,返回下标值最大的与指定字符组中任何字符都不匹配的元素的位置。若找不到那样的元素则返回npos。
rfind():对一个串从尾至头查找一个指定的单个字符或字符组。如果找到,就返回首次匹配的开始位置;如果没有查找到匹配的内容,则返回npos。
find(string, int):第一个参数用来指示要查找的字符,第二个参数用来表示从字符串的何处开始查找子串(默认的查找位置是0)。
举例:字符串匹配:
#include "stdafx.h"
#include<iostream>
#include<math.h>
#include<string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string T;//原串
string P;//模式
while(cin>>T>>P)
{
int count=0;
int begin=-1;
while((begin=T.find(P,begin+1))!=string::npos)
{
count++;
}
cout<<count<<endl;
}
int z;
cin>>z;
return 0;
}
以上就是小编为大家带来的C++ string 字符串查找匹配实例代码全部内容了,希望大家多多支持软件开发网~
您可能感兴趣的文章:C字符串与C++中string的区别详解C++ 读文件 将文件内容读入到字符串string中的方法C++ 中String 替换指定字符串的实例详解详解C++ string常用截取字符串方法详解NSString 与C++ string字符串的互转详解C++的String类的字符串分割实现详解C++ string字符串类VC++ 字符串String MD5计算小工具 VS2008工程C++中的string类(C++字符串)入门完全攻略