(地基工)字符串分割函数(支持汉字字符和分割符一样)

// -----------------------------------------------------------------------
     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
++ ;
            }        
        }
    }

支持中文中字符和分割符一样的分割函数
支持"弢"和"|"线类似

你可能感兴趣的:((地基工)字符串分割函数(支持汉字字符和分割符一样))