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中单字符的检查

posted @ 2017-03-18 20:24  夜鸥同学  阅读(114)  评论(0)    收藏  举报