码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 字符串分割

时间:2017-06-26 23:56:26      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:int   大数   while   字符串   log   pre   自己   split函数   一个   

2017-06-26 21:47:06

这几天在做大数据的处理,需要处理几百万的数据。由于一直用的是c++,所以就直接用c++进行了编码。

不过后来经过学长的提醒发现其实字符串处理,尤其是处理csv文件(由逗号作为分割符)时,需要将各个部分分割开来,如果用Java或者Python进行处理的话会非常方便,比如Java就有split函数进行字符串的分割,不过我在查询资料之后发现c++中并没有现成的针对string的字符串分割函数。于是我自己写了一个split函数。

这个函数的声明是

void split(const string& source, const char d, vector<string>& rst)

source:源字符串

d:分隔符

rst:返回的分割后的数组

void split(const string& source, const char d, vector<string>& rst)
{
  if(!source.length()) return;
for(int i=0;i<source.length();) { string temp=""; while(true) { if(i>=source.length()) break; if(source[i]==d) break; else temp+=source[i++]; } rst.push_back(temp); ++i; } if(source[source.length()-1]==,) rst.push_back(""); }

这个函数的作用是将每个分割符前面的字符串先存入一个temp中,都装后,再放进数组中。如果最后还有一个逗号,意味着应该还有一个空字符串,所以最后判断加入即可。

C++ 字符串分割

标签:int   大数   while   字符串   log   pre   自己   split函数   一个   

原文地址:http://www.cnblogs.com/TIMHY/p/7082719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!