string头文件常用方法(C++)

     阅读:63

string

定义字符串,如果未赋初值,则默认是 "" ,即空字符串,结尾也没有结束标志 \0

#include <string>
using namespace std;

int main() {
	string s1; // 空字符串
	string s2(5, 's'); // s2 = "sssss";
}

常用成员函数:

  • 求字符串长度

    str.length();
    
  • 字符串的拼接,可以用 + 或者 += 直接拼接字符串
    + 拼接字符串时,可以两边都是 string字符串;一个 string字符串和一个 C风格字符串;一个 string字符串和一个字符数组;一个 string字符串和一个单独字符;

    string s1 = "hello world";
    string s2 = "hhhhh";
    s2 = s2 + s1;
    
  • 插入字符串

    str.insert(pos, new_str);
    

    pos 表示原字符串 str中要插入的位置,即下标(位置要小心越界)
    new_str 表示要插入的字符串,可以是 string字符串,也可以是C风格的字符串

  • 删除字符串

    str.erase(pos=0, len);
    

    pos 表示字符串 str中要删除的起始位置,即下标(默认为0)
    len 表示要删除的字符串长度,如果不设置 len,则默认删至结尾

  • 提取字符串

    str.substr(pos=0, len);
    

    pos 表示要从老字符串 str中提取的起始位置,即下标(默认为0)
    len 表示新字符串的长度

  • 字符串的查找:
    1、find() 用于在 str1字符串中查找 str2 字符串出现的位置

    str1.find(str2, pos);
    

    str1 表示老字符串
    str2 表示新字符串
    pos 表示开始查找的位置,即起始下标,默认为0
    返回值为下标(类型是 int

    2、rfind() 用于在 str1字符串中查找 str2 字符串出现的位置

    str1.rfind(str2, pos);
    

    str1 表示老字符串
    str2 表示新字符串
    pos 表示从 str1的起点开始查找,直到 pos 下标结束
    返回值为下标(类型是 int

    3、find_first_of() 用于查找两个字符串中共同具有的字符在 str1 字符串中首次出现的位置

    str1.find_first_of(str2);
    

    str1 表示老字符串
    str2 表示新字符串
    返回值为下标(类型是 int