cb20a_c++_string类型的查找
cb20a_c++_string类型的查找
s.find(args) //精确匹配,顺序查找, abc, 连续的包含在abcde,或者fabcde;
s.rfind(args) //精确匹配。反向查找
s.find_first_of(args)//不连续,间隔的,一个一个的找,比如扎到a就返回位置。
s.find_last_of(args)//反向查找
s.find_first_not_of(args)//不连续,间隔的,一个一个的找,比如知道非a就返回非a的位置,就是除了a,其他都返回找到了。
s.find_last_not_of(args)//反向查找
欢迎讨论,相互学习。 txwtech@163.com
/*cb20a_c++_string类型的查找
s.find(args) //精确匹配,顺序查找, abc, 连续的包含在abcde,或者fabcde;
s.rfind(args) //精确匹配。反向查找
s.find_first_of(args)//不连续,间隔的,一个一个的找,比如扎到a就返回位置。
s.find_last_of(args)//反向查找
s.find_first_not_of(args)//不连续,间隔的,一个一个的找,比如知道非a就返回非a的位置,就是除了a,其他都返回找到了。
s.find_last_not_of(args)//反向查找 欢迎讨论,相互学习。 txwtech@163.com
*/
#include <iostream>
#include <string> using namespace std; int main()
{
string name("AnnaBelle");
string::size_type pos1=name.find("nna");////精确匹配
cout << "如果找到:返回下标:" << pos1 << endl;
if (pos1 == string::npos)
cout << "如果npos,表示没有找到" << endl;
else
cout << "找到了下标: " << pos1 << endl; name = "r2%d3";
string numerics("");
string::size_type pos=name.find_first_of(numerics);
cout << "找name里面的数字,在numerics里面包含有。找到2,就找到了,后面不找了" <<pos<< endl;
if (pos == string::npos)
cout << "如果npos,表示没有找到" << endl;
else
cout << "找到了下标: " << pos1 << endl;
string::size_type pos3 = ;
while ((pos3 = name.find_first_of(numerics, pos3)) != string::npos)//用循环把所有找出来
{
cout << "找到了数字,内容是: " << name[pos3] <<endl<< endl;
++pos3;
}
cout << "找出不是数字的方法:" << endl;
pos3 = ;
while ((pos3 = name.find_first_not_of(numerics, pos3)) != string::npos)//用循环把所有找出来
{
cout << "找不是数字,内容是: " << name[pos3] << endl<<endl;
++pos3;
}
string letters("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
pos = ;
while ((pos = name.find_first_of(letters, pos)) != string::npos)
{
cout << "letters里面找到了字母:"<<name[pos] << endl;
++pos;
}
cout << "找出不是字母的方法:" << endl;
pos = ;
while ((pos = name.find_first_not_of(letters, pos)) != string::npos)
{
cout << "letters里面找到了非字母的其他字符:" << name[pos] << endl<<endl;
++pos;
} string river("Mississippi");
string river2("a2sipii");
string::size_type first_pos = river.find("is");
cout << "first_pos前面开始找:下标是:"<< first_pos << endl;
string::size_type last_pos = river.rfind("is");
cout << "last_pos后面开始找:下标是:" << last_pos << endl << endl; //name = "r2%d3";
//string numerics("0123456789");
pos = name.find_last_of(numerics);
cout << "name在numerics反向查找位置的索引:" << pos << endl << endl; return ;
}
cb20a_c++_string类型的查找的更多相关文章
- JavaScript的基本包装类型_String类型
String类型概述 String在底层字符串是以字符数组的形式保存的 var str = "Hello"; // 在底层其实就是['H','e','l','l','o'] 字符串 ...
- 用grep在子目录中指定的文件类型中查找(转载)
转自:http://www.ai7.org/wp/html/653.html grep -r abcd *.py 这样的命令得不到你期待的结果,而 grep -r abcd * 这样得到的结果又太多, ...
- openEntityForm时候如何给关于(regardingobjectid)类型查找字段赋值?
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复264或者20170924可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- openEntityForm如何给关于(regardingobjectid)类型查找字段赋值?
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复264或者20170924可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Linux(三)__文件权限、系统的查找、文本编辑器
一.文件权限 1.理解文件权限及其分配 2.掌握查看文件和目录的权限 3.掌握权限文字表示法和数值表示法 4.学会使用chmod命令设置权限 5.学会使用chown命令修改属主和组 linux文件能不 ...
- Linux文件查找
Linux下查找文件的命令有两个; locate: find : locate这个命令对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了查 找文件速度很快,但是locate ...
- 《CLR via C#》读书笔记(6)类型和成员基础
6.1 类型的各种成员 在一个类型中,可以定义0个或者多个以下种类的成员: 常量 常量是在编译时设置其值并且永远不能更改其值的字段.使用常量可以为特殊值提供有意义的名称以代替数字文本,以使代码变得更容 ...
- 小白学习mysql之优化基础(EXPLAIN的连接类型)
## 导语很多情况下,有很多人用各种select语句查询到了他们想要的数据后,往往便以为工作圆满结束了.这些事情往往发生在一些学生亦或刚入职场但之前又没有很好数据库基础的小白身上,但所谓闻道有先后,只 ...
- 菜鸟学Linux命令:find命令 查找文件
find命令是Linux下最常用的命令之一,灵活的使用find命令,你会发现查找文件变得十分简单. 命令格式 find [指定查找目录] [查找规则(选项)] [查找完后执行的动作] 参数规则 - ...
随机推荐
- NPM——常用命令
npm init //创建一个package.json | npm init -y //快速全部以默认的方式生成一个package.json ,-y是-yes的缩写 以下方式可按回车默认 name 项 ...
- 【Oracle】系统视图USER_TAB_COLS和USER_TAB_COLUMNS
视图SYS.USER_TAB_COLS和SYS.USER_TAB_COLUMNS都保存了当前用户的表.视图和Clusters中的列信息.通过检索这两个表,可以方便的获取到表的结构. 主要的列属性有: ...
- ansible模块详解
[简单介绍] Ansible是一种agentless(基于ssh),可实现批量配置.命令执行和控制,基于Python实现的自动化运维工具. 有以下两个特性: 模块化:通过调用相关模块,完成指定任务,且 ...
- 附021.Traefik-ingress部署及使用
一 Helm部署 1.1 获取资源 [root@master01 ~]# mkdir ingress [root@master01 ~]# cd ingress/ [root@master01 ing ...
- DevOps - 从渐进式交付说起(含实践 Demo)
作者:CODING - 王炜 1. 开篇 如果让你主导一款千万.甚至亿级用户产品的功能迭代,你会怎么做?你需要面对的挑战可能来自于: 商业战略的变化带来新的产品诉求,而产品的任何改动哪怕仅是界面调整, ...
- Sched_Boost小结
之前遇到一个耗电问题,最后发现是/proc/sys/kernel/sched_boost节点设置异常,一直处于boost状态.导致所有场景功耗上升. 现在总结一下sched_boost的相关知识. S ...
- Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
试题 算法训练 Rotatable Number 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Bike是个十分喜欢数学的聪明孩子.他发明了"可旋转数",其灵感 ...
- Java实现 LeetCode 645 错误的集合(暴力)
645. 错误的集合 集合 S 包含从1到 n 的整数.不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复. 给定一个数组 n ...
- Java实现 蓝桥杯 算法训练 最小乘积
算法训练 最小乘积(基本型) 时间限制:1.0s 内存限制:512.0MB 问题描述 给两组数,各n个. 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小.要求程序输出这个最 ...
- Java实现汉诺塔问题
1 问题描述 Simulate the movement of the Towers of Hanoi Puzzle; Bonus is possible for using animation. e ...