C++中string常用截取字符串方法是什么
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本文小编为大家详细介绍"C++中string常用截取字符串方法是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"C++中string常用截取字符串方法是什么"文章能帮助大家解决疑惑,下面跟着小编的
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
耶加雪菲
百单网互联网科技有限公司
互联网是第几次科技革命的成果
金融科技还是互联网
美国互联网科技巨头监管
互联网与科技金融数据
互联网 科技创新
中国 科技 互联网
上海挚品互联网科技
亿策互联网科技
奔汉互联网科技
狮子座互联网科技培训
茂名市互联网科技产业园
现代互联网科技股
互联网科技创新服务
和信科技工业互联网
中天科技中国工业互联网
珠海东科互联网科技有限公司
互联网科技品牌
东风日产互联网科技公司叫什么
安徽鑫晟辉互联网科技
宜安科技 互联网金融
互联网科技的未来发展
国外互联网科技网站
茂名市互联网科技产业园
朱啸虎曾投资哪些互联网科技企业
工业互联网展湾科技股份有限公司
上海科技产业互联网平台
张召忠谈中国互联网科技
恒生互联网科技趋势