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类型的查找的更多相关文章

  1. JavaScript的基本包装类型_String类型

    String类型概述 String在底层字符串是以字符数组的形式保存的 var str = "Hello"; // 在底层其实就是['H','e','l','l','o'] 字符串 ...

  2. 用grep在子目录中指定的文件类型中查找(转载)

    转自:http://www.ai7.org/wp/html/653.html grep -r abcd *.py 这样的命令得不到你期待的结果,而 grep -r abcd * 这样得到的结果又太多, ...

  3. openEntityForm时候如何给关于(regardingobjectid)类型查找字段赋值?

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复264或者20170924可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  4. openEntityForm如何给关于(regardingobjectid)类型查找字段赋值?

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复264或者20170924可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  5. Linux(三)__文件权限、系统的查找、文本编辑器

    一.文件权限 1.理解文件权限及其分配 2.掌握查看文件和目录的权限 3.掌握权限文字表示法和数值表示法 4.学会使用chmod命令设置权限 5.学会使用chown命令修改属主和组 linux文件能不 ...

  6. Linux文件查找

    Linux下查找文件的命令有两个; locate: find : locate这个命令对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了查 找文件速度很快,但是locate ...

  7. 《CLR via C#》读书笔记(6)类型和成员基础

    6.1 类型的各种成员 在一个类型中,可以定义0个或者多个以下种类的成员: 常量 常量是在编译时设置其值并且永远不能更改其值的字段.使用常量可以为特殊值提供有意义的名称以代替数字文本,以使代码变得更容 ...

  8. 小白学习mysql之优化基础(EXPLAIN的连接类型)

    ## 导语很多情况下,有很多人用各种select语句查询到了他们想要的数据后,往往便以为工作圆满结束了.这些事情往往发生在一些学生亦或刚入职场但之前又没有很好数据库基础的小白身上,但所谓闻道有先后,只 ...

  9. 菜鸟学Linux命令:find命令 查找文件

    find命令是Linux下最常用的命令之一,灵活的使用find命令,你会发现查找文件变得十分简单. 命令格式 find [指定查找目录]  [查找规则(选项)]  [查找完后执行的动作] 参数规则 - ...

随机推荐

  1. vue-cli中的index.html ,main.js , App.vue的关系

    ###发现不少小伙伴才刚开始接触到这个结构都被绕的迷糊,而发现很多人说的也不是那么准确,那么下面我来说一下是怎么回事### 1.首先我们来看看原生Vue中组件的写法, 我们按照vue-cli的结构按照 ...

  2. MIT6.828准备:MacOS下搭建xv6和risc-v环境

    本文介绍在MacOS下搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链.qemu和xv6,对于Linux系统同样可以参考. 介绍 只有了解底层原理才能写好上 ...

  3. Magicodes.SwaggerUI 已支持.NET Core 3.1

    Magicodes.SwaggerUI 通过配置文件简单配置即可快速完成SwaggerUI的配置,包括: SwaggerUI的文档信息 API分组 API隐藏 API JSON生成(枚举.API架构I ...

  4. 4.String字符串类型操作

    String类型操作 1.set key value 设置key对应的值为string类型的value  2.mset key1 value1 … keyN valueN 一次设置多个key的值 3. ...

  5. 化学元素周期表的英文全称 Periodic Table of the Elements

    化学元素周期表的英文全称 Periodic Table of the Elements   缩写 PTE 拉丁文 英文 1 H 氢 Hydrogenium Hydrogen 2 He 氦 Helium ...

  6. 技术大佬:我去,这个容易被忽略的小程序Image图片属性,竟然这么屌!

    前段时间在做“高清壁纸推荐”小程序优化的时候,发现一个很实用的图片属性——能够实现最大化压缩图片大小.且图片质量最小的损失,在此之前一直没有注意.今天跟大家分享一下这个属性的用法,主要是让大家能够,意 ...

  7. DataFrame-选择与切片

    取得DataFrame对象reviews的description列的前10个值(或者说reviews前10行的description列): reviews.iloc[:10].loc[:,'descr ...

  8. AVIRIS 简介

    AVIRIS 是指 机载可见光近红外成像光谱(Airborne Visible InfraRed Imaging Spectrometer).是由美国NASA下属的喷气动力实验室(JPL)开发和维护的 ...

  9. dell5460笔记本电脑ubuntu18.04系统音频驱动的安装和使用

    一.背景: 近期使用dell5460笔记本在ubuntu系统下观看视频,发现没有声音,考虑安装音频驱动. 二.音频驱动的安装 linux系统的音频驱动基于ALSA(即Advanced Linux So ...

  10. 【HBase】表的version

    建表.添加数据 Examples: hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40'] hbase> c ...