C++中string常用截取字符串方法是什么
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,本文小编为大家详细介绍"C++中string常用截取字符串方法是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中string常用截取字符串方法是什么"文章能帮助大家解决疑惑,下面跟着小编的
千家信息网最后更新 2025年11月14日C++中string常用截取字符串方法是什么
本文小编为大家详细介绍"C++中string常用截取字符串方法是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中string常用截取字符串方法是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求:
find(string strSub, npos);
find_last_of(string strSub, npos);
其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串首次出现的位置,否则返回-1;
注:
(1)find_last_of的npos为从末尾开始寻找的位置。
(2)下文中用到的strsub(npos,size)函数,其中npos为开始位置,size为截取大小
例1:直接查找字符串中是否具有某个字符串(返回"2")
std::string strPath = "E:\\数据\\2018\\2000坐标系\\a.shp"int a = 0; if (strPath.find("2018") == std::string::npos){ a = 1;}else{ a = 2;}return a;例2:查找某个字符串的字符串(返回"E:")
std::string strPath = "E:\\数据\\2018\\2000坐标系\\a.shp"int nPos = strPath.find("\\");if(nPos != -1){ strPath = strPath.substr(0, nPos);}return strPath;例3:查找某个字符串中某两个子字符串之间的字符串(返回"2000坐标系")
std::string strPath = "E:\\数据\\2018\\2000坐标系\\a.shp"std::string::size_type nPos1 = std::string::npos;std::string::size_type nPos2 = std::string::npos;nPos1 = strPath.find_last_of("\\");nPos2 = strPath.find_last_of("\\", nPos1 - 1);if(nPos1 !=-1 && npos2 != -1){ strPath = strPath.substr(nPos2 + 1, nPos1 - nPos2 - 1);}return strPath;提高:递归获取路径名中的子目录
//获取路径名中的子目录:strPath为路径名,strSubPath为输出的子目录, nSearch为从尾向前检索的级别(默认为1级) bool _GetSubPath(std::string& strPath,std::string& strSubPath, int nSearch){ if (-1 == nSearch || strPath.empty()) return false; std::string::size_type nPos1 = std::string::npos; nPos1 = strPath.find_last_of("\\"); if (nPos1 != -1) { strSubPath = strPath.substr(nPos1 + 1, strPath.length() - nPos1); int nNewSearch = nSearch > 1 ? nSearch - 1 : -1; _GetSubPath(strPath.substr(0, nPos1), strSubPath, nNewSearch); } return true;} int main(){ std::string strPath = "E:\\数据\\2018\\2000坐标系\\a.shp"; std::string strSubPath = ""; if(_GetSubPath(strPath, strSubPath, 1) { printf("返回'a.shp'"); } if(_GetSubPath(strPath, strSubPath, 2) { printf("返回'2000坐标系'"); }}读到这里,这篇"C++中string常用截取字符串方法是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
字符
字符串
坐标
坐标系
常用
方法
位置
数据
C++
子目
子目录
文章
路径
路径名
内容
妥当
下文
两个
之间
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东网络技术优点
微软 软件开发平台
为什么网络安全技术这么难学
上海北斗时钟监控网管服务器
epic服务器不稳定怎么办
服务器自动删除3天以上文件
数据库脚本备份服务
软件开发方向论文题目
网络安全教育ppt课件总结
上海软件开发公司 灵文
dos连接远程服务器
网络安全态势感知系统建设
重庆铜梁网络技术有限公司
鄂州电子仓库软件开发
广西 企业软件开发
数据库课程设计陈根才
mc进服务器很卡
电脑方舟服务器要钱吗
服务器管理器文件夹
数据库备份事务日志是什么
上海服务器电源什么牌子好
多人更新数据库
电科网络安全产业园
初中生能不能学了软件开发吗
大数据中心网络安全管理办法
广州点赞网络技术
远程传递数据库
人与网络技术的看法
平顶山鸿铭软件开发有限公司
自定义图像识别数据库