C++下截取字符串「建议收藏」

C++下截取字符串「建议收藏」std::string::substrstringsubstr(size_tpos=0,size_tlen=npos)const;功能:按照条件截取字符串参数:pos=截取起始位      len=截取长度用法1:截取下标从2(第3个字符)开始到字符串结尾的字符串stringstr=”ABCDEFG”;str

大家好,又见面了,我是你们的朋友全栈君。

std::string::substr

string substr (size_t pos = 0, size_t len = npos) const;

功能:按照条件截取字符串

参数:pos=截取起始位 

          len=截取长度



用法1:截取下标2(第3个字符)开始到字符串结尾的字符串

string str = "ABCDEFG";
string cut= str.substr(2);

最终,cut=”CDEFG”。

衍生:如果str=”image007.jpg”,而我们想知道其文件扩展名(filename extension),那么可以这样操作:

string str = "image007.jpg";
string cut= str.substr(str.find_last_of(".")+1);

最终,cut=”jpg”,得到扩展名。其中,str.find_last_of(“.”)返回str字符串中最后一个’.’的所在下标,这里返回8(int)。

关于string::find_first_of()string::find_first_not_of()string::find_last_of()string::find_last_not_of(),参考如下:

string str1 = "cup,car,person,car,booo";
string str2 = "ako";


int num_1 = str1.find_first_of(str2);//返回str1中第一个与str2的第一个字符('a')相同字符的下标 ,返回5
int num_2 = str1.find_first_not_of(str2);//返回str1中第一个与str2的第一个字符('a')不同字符的下标 ,返回0


int num_3 = str1.find_last_of(str2);//返回str1中最后一个与str2的最后一个字符('o')相同字符的下标 ,返回22
int num_4 = str1.find_last_not_of(str2);//返回str1中最后一个与str2的最后一个字符('o')不同字符的下标 ,返回19

注:如果str2中的对应字符(最后或者最前字符)不在str1中,将返回一个很大的数。



用法2:截取下标从2(第3个字符)开始截取3个字符的字符串

string str = "ABCDEFG";
string cut= str.substr(2,3);

最终,cut=”CDE”,即从下标为2开始向后数3位。

衍生:如果str=”image007.jpg”,而我们只要其文件名而不要扩展名,那么可以这样操作:

string str = "image007.jpg";
string cut= str.substr(0,str.find_last_of("."));

最终,cut=”image007″,得到不含扩展名的文件名。


另外,C++中string的详细操作可点击参考这里

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144589.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月19日 上午9:00
下一篇 2022年5月19日 上午9:20


相关推荐

  • 用C语言实现FlappyBird

    用C语言实现FlappyBird在 FlappyBird 这款游戏中 玩家需要用一根手指来操控小鸟往上飞 不断的点击屏幕就会不断的往高处飞 放松手指 则会快速下降 所以玩家要控制小鸟一直向前飞行 然后注意躲避途中高低不平的管子得分 在这里 我们主要使用 C 语言中的 printf 和 scanf 函数实现一个简单的 FlappyBird 游戏整体思路在开始游戏之前 我们先了解一些辅助函数 voidgotoxy intx in

    2026年3月17日
    1
  • “人脸识别”事故频发,“猪脸识别”却很靠谱!阿里巴巴赌对了

    “人脸识别”事故频发,“猪脸识别”却很靠谱!阿里巴巴赌对了伴随着科技的发展,大家开始逐渐重视自己的隐私,对于“人脸识别”这一新兴技术也抱有很多的质疑,而且“人脸识别”事故频发,被他人盗用的风险目前还是极大的。现在的人脸识别在认证时大多会让用户做一些点头、摇头、张嘴、眨眼等等动作,这样一来,就避免了有人用照片来滥竽充数,但是没想到,还是被有心人利用起来,直接激活成功教程,甚至用于借贷等等不法行为。说起来这一项技术在支付宝的使用情况目前已经非常广泛,只需要看着屏幕就能“刷脸支付”,不再需要扫码转账,手机信号差等等情况也可以避免,但面对种种事故,用户还是心有余悸。

    2022年6月21日
    36
  • VSCode自动保存文件

    VSCode自动保存文件点击 文件 自动保存即可

    2026年3月19日
    3
  • google域名邮箱申请 gmail域名邮箱申请(企业应用套件)指南

    google域名邮箱申请 gmail域名邮箱申请(企业应用套件)指南

    2021年12月9日
    60
  • 3极管工作原理_通信终端工作原理

    3极管工作原理_通信终端工作原理一、很多初学者都会认为三极管是两个PN结的简单凑合(如图1)。这种想法是错误的,两个二极管的组合不能形成一个三极管。我们以NPN型三极管为例(见图2),两个PN结共用了一个P区——基区,基区做得极薄,只有几微米到几十微米,正是靠着它把两个PN结有机地结合成一个不可分割的整体,它们之间存在着相互联系和相互影响,使三极管完全不同于两个单独的PN结的特性。三极管在外加电压

    2022年8月30日
    6
  • Java 泛型

    Java 泛型

    2021年10月7日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号