string
【简介】
string类函数是C++中对字符串进行处理的一个类,主要为六大功能:创建,修改,查询,对比,提取和运算。
这部分还有引用 sstream 的内容:数字与字符串的互换,拆分字符串。
【语法】
一、创建
创建string对象有4种方式。
① string 字符串名="内容";
② string 字符串名=("内容");
③ string 字符串名;
④ char 数组名[]="内容";
string 字符串名(数组名);
二、修改
(1)添加
①字符串名.append("内容");
②字符串名.append("内容",index,n); // 添加内容中index(起始下标)~n对应的字符串
③字符串名.append("内容",n); // 添加内容从0~n对应的字符内容
④字符串名.append(n,'字符'); // 添加n个字符
(2)插入
①字符串名.insert(index,"内容"); // 在字符串中下标index后插入内容
②字符串名.insert(index,n,'字符'); // 在字符串中下标index后插入n个字符
(3)替换
①字符串名.assign(字符型数组); // 用数组内容替换字符串内容
②字符串名.assign("内容"); // 用内容替换字符串的原内容
③字符串名.assign("内容",index,n); // 用内容中下标index~index+n的字符替换字符串的原内容
④字符串名.assign("内容",n); // 用内容中下标0~n对应的字符替换字符串原内容
⑤字符串名.assign(n,'字符'); // 用n个字符替换字符串原内容
⑥字符串名.replace(index,n,"内容") // 将字符串中下标index~index+n对应的原内容用内容替换
(4)删除
字符串名.erase(index,n); // 删除字符串中下标index~index+n的字符删除
(5)清空
字符串名.clear(); // 清空字符串
三、查询
(1)字符串中字符的数目
使用以下两个可以返回字符串中字符数量(不包括\0)
①字符串名.length();
②字符串名.size();
(2)字符串大小
字符串名.capacity(); // 返回字符串占用存储空间的大小
(3)具体下标处对应的字符
字符串名.at(index); // 返回字符串中下标为index对应的字符
(4)判空
字符串名.empty(); // 当字符串空时,返回1
(5)搜索
①字符串名.find("内容"); // 在字符串中查询内容,并返回字符串中首个出现内容的首字符下标
②字符串名.find("内容",index); // 从字符串中下标index后查询内容,并返回字符串中首个出现内容的首字符下标
③字符串名.find('字符'); // 在字符串中查询字符,并返回字符串中首个出现该字符的下标
④字符串名.find('字符',index); // 从字符串中下标index后查询字符,并返回字符串中首个出现该字符的下标
四、对比
①字符串名.compare("内容"); // 将字符串与内容进行对比,若一样返回0;若不一样,则对比首处不同的字符的ASCII码的大小,若字符串的大,返回1,反之返回-1
②字符串名.compare(index,n,"内容"); // 将字符串与内容的index~index+n进行对比,若一样返回0;若不一样,则对比首处不同的字符的ASCII码的大小,若字符串的大,返回1,反之返回-1
五、提取
①字符串名.substr(index,n); // 返回字符串中index~index+n对应的内容
②字符串名.substr(index); // 返回字符串中从index到结束的所有内容
六、运算
[] 使用下标操作符访问
= 复制字符串内容 // s1=s2
+ 连接两个字符串
+= 将符号右的字符串添加至符号左
<< 将字符串插入到流中
>> 从流中提取字符添加入字符串中
==,!=,<,>,<=,>= 对比操作符
【sstream】
(1)数字与字符串互换
stringstream ss;
ss<<3.1415;
string s=ss.str();
【散乱知识点】
1.string中的数字进行判断要对数字家单引号(‘’)
s.at(i)<'9'&&s.at(i)>'0';
2.string中单字符的检查

浙公网安备 33010602011771号