首页 > 代码库 > C++中搜索、截取字符串
C++中搜索、截取字符串
示例中有详细注释,直接上代码:
#include <iostream>#include <string>using std::cout;using std::endl;using std::string;int main(void){ string str1="hi,test,hello"; string str2="test"; //搜索子串,返回子串第一个字符的索引 cout << str1.find(str2)<<endl; //如果不存在,返回内置常量string::npos,在一些编译器中通常为4294967295 cout << str1.find('k')<<endl; //从指定索引开始搜索 cout <<str1.find('h',2)<<endl; //从指定索引搜索指定字符串的前n个字符 cout <<str1.find("her",1,2)<<endl; //在指定字符集合中搜索字符,返回其索引 cout <<str1.find_first_of("AaEeIiOoUu")<<endl; //从指定索引处开始在指定字符集合中搜索字符 cout <<str1.find_first_of("AaEeIiOoUu",2)<<endl; //从指定索引处开始在指定字符集合中搜索指定长度字符 cout <<str1.find_first_of("AaEeIiOoUu",2,2)<<endl; //在指定字符集合中逆向搜索字符,返回字符最后索引,同样也具有上面另外两个重载方法 cout <<str1.find_last_of("AaEeIiOoUu")<<endl; //查找字符串中第一个不在字符集合中的字符 cout <<str1.find_first_not_of("AaEeIiOoUu")<<endl; //查找字符串中最后一个不在字符集合中的字符 cout <<str1.find_last_not_of("AaEeIiOoUu")<<endl; //逆向搜索,也具有和find()一样的重载方法 cout <<str1.rfind('l')<<endl; //截取子串 string str3=str1.substr(3,4); cout <<str3<<endl; return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。