使用STL进行字符串分割(C++)
来源:互联网 发布:java 读取表单文件 编辑:程序博客网 时间:2024/06/05 10:42
在写C++程序过程中,有时候会遇到字符串分割的问题,写一个字符串分割的函数,便于以后使用。
使用STL进行字符串分割涉及到string类的两个函数find和substr:
1、find函数
原型:size_t find ( const string& str, size_t pos = 0 ) const;
功能:查找子字符串第一次出现的位置。
参数说明:str为子字符串,pos为初始查找位置。
返回值:返回查询结果的迭代器
2、substr函数
原型:string substr ( size_t pos = 0, size_t n = npos ) const;
功能:获得子字符串。
参数说明:pos为起始位置(默认为0),n为结束位置(默认为npos)
返回值:一个子字符串,从其指定的位置开始
备注:如果没有指定长度_Count或_Count+_Off超出了源字符串的长度,则子字符串将延续到源字符串的结尾。
实现如下:
bool strsegmentation(string input,char c,vector <string> &segment){ //input 输入的字符串 //c 分割符 //segment 输出分割字符片段(集) if(input=="") return false; string tempstr; int comma; while (1) { comma=input.find(c); if(comma==-1) { tempstr=input.substr(0,input.length()); segment.push_back(tempstr); break; } tempstr=input.substr(0,comma); input.erase(0,comma+1); segment.push_back(tempstr); } if(segment.size()==0) { printf("输入字符串为空...\n"); return false; } return true;}
main函数中:
int main(int argc, char* argv[]){ string teststr="qwert tdytf gugug35 7665 75567 2wdrt6"; vector <string> segment; if(!strsegmentation(teststr,' ',segment)) return 0; for (int i=0;i<segment.size();++i) cout<<segment[i]<<endl; system("pause"); return 0;}
运行结果:
希望对大家有帮助。
0 0
- 使用STL进行字符串分割(C++)
- 用STL进行字符串的分割
- 分割字符串的比较完美实现(c++,stl)
- 字符串分割(C++)
- c利用strtok来进行字符串分割
- C语言 对字符串进行分割
- stl字符串分割
- [AWK]使用AWK进行分割字符串以及截取字符串
- 使用AWK进行分割字符串以及截取字符串
- sstream进行字符串分割
- C 语言使用特定字符分割字符串
- C语言:使用strtok()函数分割字符串
- C语言中strtok函数进行分割字符串!
- C语言中strtok函数进行分割字符串!
- 字符串分割(C/C++)
- C字符串分割(strtok和strtok_r)
- C语言分割字符串(冒号)
- c语言字符串分割函数(strtok())
- 使用Memory Analyzer tool(MAT)分析内存泄漏(一)
- 英语总结系列(十九):七月英语Baby成长史
- cocos2dx 3.1.1 在线热更新 自动更新(使用AssetsManager更新游戏资源包)
- Android二维码扫码--精简版zxing使用教程
- LayoutInflater详细解析,细细的。。。。
- 使用STL进行字符串分割(C++)
- Android自定义类似ProgressDialog效果的Dialog
- Python时间性能测量 time.clock() time.time() timeit.timeit()
- 深度学习
- easyui的datagrid显示或隐藏列
- 剑指offer——两个链表的第一个公共结点
- 数据库高级操作
- 使用Memory Analyzer tool(MAT)分析内存泄漏(二)
- python面向对象例子