码迷,mamicode.com
首页 > 其他好文 > 详细

字符串的切割

时间:2014-07-31 19:59:27      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:os   文件   for   ar   amp   size   har   字符串   

头文件:

 Cstring trim(char ch = ‘ ‘);
 std::vector<Cstring> split(const Cstring & strSep,bool needTrim = true);

cpp 文件:

Cstring Cstring::trim(char ch)
{
    TrimLeft(ch);
    TrimRight(ch);
    return *this;
}

std::vector<Cstring> Cstring::split(const Cstring & strSep,bool needTrim)
{
    std::vector<Cstring> strsRet;

    if (needTrim == true)
    {
       trim();
    }
    for(;;)
    {
        Cstring temp;
        int pos = (int)find(strSep);
        if(pos == (int)bam_string::npos)
        {
            temp = needTrim?this->trim():*this;

            if(!temp.empty())
            {
                strsRet.push_back(temp);
            }
            break;
        }
        else
        {
            temp = substr(0,pos);
            if(needTrim == true)
            {
                temp = temp.trim();
            }
            if(!temp.empty())
            {
                strsRet.push_back(temp);
            }

            *this = this->substr(strSep.size()+pos,this->size() - strSep.size()+pos);

        }
    }

    return strsRet;
}

trim 的实现的备注:

void Cstring::TrimLeft(const char* trim )
{
    erase(0,find_first_not_of(trim));
}

字符串的切割,布布扣,bubuko.com

字符串的切割

标签:os   文件   for   ar   amp   size   har   字符串   

原文地址:http://www.cnblogs.com/haibianxiaolu/p/3881086.html

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