=,assign() //赋以新值
s.assign(str);
s.assign(str,1,3);//如果str是”iamangel” 就是把”ama”赋给字符串
s.assign(str,2,string::npos);//把字符串str从索引值2开始到结尾赋给s
s.assign(“gaint”);
s.assign(“nico”,5);//把’n’ ‘I’ ‘c’ ‘o’ ‘\0’赋给字符串
s.assign(5,’x’);//把五个x赋给字符串
b) swap() //交换两个字符串的内容
c) +=,append(),push_back() //在尾部添加字符
d) insert() //插入字符
e) erase() //删除字符
g) replace() //替换字符
h) +//串联字符串
==,!=,<,<=,>,>=,compare() //比较字符串
string s(“abcd”);
s.compare(“abcd”); //返回0
s.compare(“dcba”); //返回一个小于0的值
s.compare(“ab”); //返回大于0的值
s.compare(s); //相等
s.compare(0,2,s,2,2); //用”ab”和”cd”进行比较 小于零
s.compare(1,2,”bcx”,2); //用”bc”和”bc”比较。
j) size(),length() //返回字符数量
r) copy() //将某值赋值为一个C_string
s) c_str() //将内容以C_string返回
u) substr() //返回某个子字符串
s.substr(11);//从索引11往后的子串
s.substr(5,6);//从索引5开始6个字符
k)find()
string::size_type position;
position = s.find("xx");
//查找s 中flag 出现的所有位置。
flag="a";
position=0;
while((position=s.find_first_of(flag,position))!=string::npos)
{
//position=s.find_first_of(flag,position);
cout<<"position : "<<position<<endl;
position++;
}
字符串的详细操作,以及示范
这篇也不错,可以看看
stringstream常见用法介绍
string str.substr(nStart) //默认 从str字符串nStart位置开始截取到str结束为止
string str.substr(nStart, nLength) // 从str字符串nStart位置开始截取nLength个字符!如果nLength>剩余的字符则截取到str结束为止
举例:
string str(“12345asdf”);
string strTmp1= str.substr(1); //获得字符串str中 从第1位开始到结束的字符串,strTmp1值为:“23456asdf”,默认到结束位置
string strTmp2 = str.substr(1,5); //获得字符串s中 从第1位开始的长度为5的字符串,strTmp1值为:“23456”
// string::substr
#include <iostream>
#include <string>
int main ()
{
std::string str="We think in generalities, but we live in details.";
// (quoting Alfred N. Whitehead)
std::string str2 = str.substr (3,5); // "think"
std::size_t pos = str.find("live"); // position of "live" in str
std::string str3 = str.substr (pos); // get from "live" to the end
std::cout << str2 << ' ' << str3 << '\n';
return 0;
}
Output
think live in details.