Posted on 2012-07-13 10:29
点点滴滴 阅读(155)
评论(0) 编辑 收藏 引用 所属分类:
02 编程语言
//-----------------------------------------------------------------------
void StringUtil::splitNice(vector< String >::type &ret, const String& s, const char delims/*= '|'*/, const char ignores/* = "^"*/, String null_subst/* = ""*/)
{
ret.clear();
String str = s;
typedef String::size_type String_size;
String_size i = 0;
String_size j = 0;
while (i <= str.size()){
String_size j = i;
// get all the char
while (j < str.size() && str[j] != delims )
{
if(str[j] & 0x80) ++j;
if(str[j] == ignores)
{
str = str.substr(0, j) + str.substr(j + 1, (str.length() - j));
}
++j;
}
if (i != j)
{
ret.push_back(str.substr(i, j-i));
i = j + 1;
}
else
{
ret.push_back(null_subst);
i++;
}
}
}
支持中文中字符和分割符一样的分割函数
支持"弢"和"|"线类似