C++中replace()函数使用方法汇总
C++编程语言中的string应用方式多样化,每一种应用方式都能帮助我们提实现特定的功能需求。在这里我们将会为大家详细介绍一下其中一个比较重要的用法,有关C++replace()函数的应用方式。
basic_string::max_size
C++replace()函数返回string能放的最大元素个数。(不同于capacity)
size_typemax_size()const; basic_string<char>::size_typecap,max; cap=s.capacity(); max=s.max_size();//max=4294967294. basic_string::rfind
寻找给定的string。返回找到的第一个string下标值;如果没找到则返回npos。
与find不同的是:rfind默认从npos开始找。其他相同。
basic_string::replace
将原string中的元素或子串替换。返回替换后的string。
(1)用string或C-string代替操作string中从_Pos1开始的_Num1个字符
basic_string&replace(size_type_Pos1, size_type_Num1,constvalue_type*_Ptr); basic_string&replace(size_type_Pos1, size_type_Num1,constbasic_string_Str); stringa,b; strings("AAAAAAAA"); strings1p("BBB"); constchar*cs1p="CCC"; a=s.replace(1,3,s1p);//s=”ABBBAAAA” b=s.replace(5,3,cs1p);//s=”ABBBACCC”
(2)用C++replace()函数中从_Pos2开始的_Num2个字符,代替操作string中从_Pos1开始的_Num1个字符
用C-string中的_Num2个字符,代替操作string中从_Pos1开始的_Num1个字符
basic_string&replace(size_type_Pos1, size_type_Num1,constbasic_string&_Str, size_type_Pos2,size_type); basic_string&replace(size_type_Pos1,size_type_Num1, constvalue_type*_Ptr,size_type_Num2); stringa,b; strings("AAAAAAAA"); strings2p("BBB"); constchar*cs2p="CCC"; a=s.replace(1,3,s2p,1,2);//s=”ABBAAAA” b=s.replace(4,3,cs2p,1);//s=”ABBAC”
(3)用_Count个character_Ch,代替操作string中从_Pos1开始的_Num1个字符
basic_string&replace(size_type_Pos1,size_type_Num1, size_type_Count,value_type_Ch); stringresult; strings("AAAAAAAA"); charch='C'; result=s.replace(1,3,4,ch);//s=”ACCCCAAAA”
(4)用string或C-string,代替操作string中从First0到Last0的字符
basic_string&replace(iteratorFirst0,iteratorLast0, constbasic_string&_Str); basic_string&replace(iteratorFirst0,iterator_Last0, constvalue_type*_Ptr); strings("AAAAAAAA");strings4p("BBB"); constchar*cs4p="CCC"; basic_string<char>::iteratorIterF0,IterL0; IterF0=s.begin();IterL0=s.begin()+3; stringa,b; a=s.replace(IterF0,IterL0,s4p);//s=”BBBAAAAA” b=s.replace(IterF0,IterL0,cs4p);//s=”CCCAAAAA”
(5)用C++replace()函数中从_Pos2开始的_Num2个字符,代替操作string中从First0到Last0的字符
用C-string中的_Num2个字符,代替操作string中从First0到Last0的字符
basic_string&replace(iterator_First0,iterator_Last0, constvalue_type*_Ptr,size_type_Num2); template<classInputIterator>basic_string&replace( iterator_First0,iterator_Last0, InputIterator_First,InputIterator_Last); IterF3=s.begin()+1;IterL3=s.begin()+3; IterF4=s.begin();IterL4=s.begin()+2; a=s.replace(IterF3,IterL3,IterF4,IterL4); b=s.replace(IterF1,IterL1,cs5p,4);
(6)用_Count个character_Ch,代替操作string中从First0到Last0的字符
basic_string&replace(iterator_First0,iterator_Last0, size_type_Count,value_type_Ch); a=s.replace(IterF2,IterL2,4,ch); basic_string::swap
交换两个string。
voidswap(basic_string&_Str); s1.swap(s2); basic_string::substr
返回从_Off(下标)开始的_Count个字符组成的string
basic_stringsubstr(size_type_Off=0, size_type_Count=npos)const; strings("Iloveyou!"),sub; ssub=s.substr();//sub=”Iloveyou!” ssub=s.substr(1);//sub=”loveyou!” ssub=s.substr(3,4);//sub=”ove”
C++replace()函数的相关内容就为大家介绍到这里,希望对大家学习C++中replace()函数使用方法有所帮助。