字符串的切割

头文件:

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));
}

字符串的切割

时间: 2024-11-11 23:38:09

字符串的切割的相关文章

HTML中JS对于字符串的切割截取实现

在网站编程制作中,对于字符串的切割截取平时所用可能不是特别多,而且分的比较细,所以自备自查.有备无患.由于之前所有均在一个demo测试,下面就来跟大家分享一下成果. 1.函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str="jpg|bmp|gif|ico|png"; arr=str.split("|"); //arr是一个包含字符值"jpg"."bmp"."gif".

C++实现字符串的切割和替换

代码编译执行平台:VS2012+Win32+Debug 1.C++中替换全部指定的子串 下面代码,作为平时代码库的储备,仅供各位猿友參考: //替换指定的子串 //src:原字符串 target:待被替换的子串 subs:替换的子串 string replaceALL(const char* src, const string& target,const string& subs) { string tmp(src); string::size_type pos =tmp.find(tar

字符串的切割操作(strtok,split)

一:strtok C/C++:char *strtok(char s[], const char *delim); s 代表须要切割的字符串,delim代表切割的标志,參数都为比选!返回指向切割部分的指针,假设没有切割成功就返回NULL. 一个简单的样例: void main() { char *str = "jscese test strtok"; char *delim = " "; char *pstr = NULL; pstr = strtok(str, d

python中分割字符串split切割并选择输出 逐行读取文件后字符串拼接

字符串根据分隔符切割后输出,一下面 #!/usr/bin/python # -*- coding: utf-8 -*- str="abc,123 efg,567" #以空行分割后输出 print str.split(); #以','分割2次后输出 print str.split(',',2); #以','分割2次后输出地2个参数,1是从0开始,代表第二个参数 print str.split(',',2)[1]; 输出结果如下: ['abc,123', 'efg,567'] ['abc'

shell中的字符串操作——字符串的切割

default.yaml {default_baseurl: 'http://10.113.10.68:8082'} test.sh a=`cat default.yaml` t=":" index=`awk -v a="$a" -v b=":" 'BEGIN{print index(a,b)}'` diff=${#a}-$index-2 let index=index+1 default_url=`echo ${a:$index:$diff}|

JavaScript和php常用语法——切割字符串

在面向Web的应用中,前台和后台通信非常常用的一种格式就是字符串,所以,在通信中,我们不可避免的就需要进行字符串的拼切. 在js代码中,当我们传递一个字符串到后台代码时,我们在后台需要对字符串进行切割用以获取我们所需要的数据.同样的,在后台代码(我常用的是php)中我们传递一个字符串到前台js代码中,我们同样需要对字符串进行切割以获取我们所需的数据. 那么,接下里就看看在JavaScript和php中如何进行字符串的切割吧! JavaScript中: 在js中,切割字符串的常用方法有:subst

c语言通过空格分割字符串,并生成多个字符串数组

本科学的一点点C语言早就忘光了,偏偏做计算机系统的作业还得用C写,深感C语言的内存分配还有字符串处理太麻烦. 作业需要将程序运行后接收到的字符串(命令)切割成多个字符数组(指令及参数),在网上搜不到,自己写了个(实在不知道c语言本身是否带这个函数,找不到). 因为太弱,不知道该怎么自动分配内存,于是自己设置:指令最多10条,每条指令的长度50. 函数返回一个指向二维字符数组的指针. char **trim(char *cmd) { char **argv; char **rtr; argv =

shell字符串与数组总结

博客主页:http://blog.csdn.net/minna_d 1. 计算字符串长度: echo ${#str} 2. 按字符截取字符串: ${word:begin:length} 3.借助% .%%.#.##对字符串的切割: %:从右向左非贪婪匹配 %%:从右向左贪婪匹配 #:从左向右非贪婪匹配 ##:从左向右贪婪匹配 用法示例: ${str%.*} ${str%%.*} ${str#*.} ${str##*.} PS:"."这里仅仅只是一个普通的点,而不是任意字符 [[emai

OC习题 -- 切分字符串 处理色值和名称 (知识点: 字典,枚举,数组,字符串)

/* 处理工程文件crayons.txt中的文本信息,文本内容是关于颜色的,每行都是一 个颜色的信息,例如:Almond #EED9C4,前?一个字符串是颜色的名称,后一 个字符串是颜?色的16进制色值,处理?文本完成如下需求: 1.使用字典管理所有的颜色,即字典中存储的是多个键值对,颜?色名称为 key,16进制颜色值(不带#)是value. 2.取出所有的key,升序排列. 3.取出所有的value,按照排序后的key排列. 4.使?用一个新的字典管理颜色,对颜色进?行分类管理,即:“A”,