场景:
1.在存储数据时有时接口需要合并字符串值,并以某些特殊字符来合并部分,到需要的时候再分割它。如一些数值,人名等。
2.C++有strtok,stringstream和find函数来实现分割。可以根据情况调用。
void SplitWithFlag(const char* str1,char c,std::vector<std::string>& arr)
{
std::stringstream ss(str1);
string str;
while(getline(ss,str,c))
{
arr.push_back(str);
}
}
20150709:增加模板方式实现
template<class T,typename C>
std::vector<T> SplitChar(T& str,C c)
{
std::vector<T> temp;
typedef std::basic_stringstream<C, std::char_traits<C>,std::allocator<C> > mstringstream;
mstringstream mss;
mss << str;