C++ string 常用函数总结:让你的字符串操作更高效

// 截取部分字符// 从另一个string对象初始化string str3(str);// 返回字符个数(不包括'')str.size();// 或者result.append(str2);

C++中string是一个非常重要的类,它提供了方便的字符串操作。在实际开发中,我们经常需要对字符串进行处理,如拼接、截取、查找等等。本文将总结一些常用的string函数,帮助你更高效地完成字符串操作。

1.创建和初始化

在使用string之前,需要先创建并初始化一个对象。可以通过以下方式来创建:

“`

// 创建空串

string str;

// 从字符数组或指针初始化

char arr[] = “hello”;

string str(arr);

string str2(&arr[0], &arr[5]); // 截取部分字符

// 从另一个string对象初始化

string str3(str);

// 直接使用字面量赋值

str = “world”;

2.获取长度和容量

获取字符串长度:

str.length(); // 返回字符个数(不包括’’)

str.size(); // 等价于length()

获取可存储字符数量(即容量):

str.capacity();

注意:当添加元素时超出当前容量时,会自动重新分配内存空间。

3.访问和修改元素

访问单个元素:

char c = str[0]; // 通过下标访问

char c2 = str.at(0); // 通过at()方法访问,越界会抛出异常

修改单个元素:

str[0] = ‘H’;

str.at(1) = ‘E’;

4.字符串拼接

将两个字符串拼接:

C++ string 常用函数总结:让你的字符串操作更高效

string str1 = “hello”;

string str2 = “world”;

string result = str1 + str2;

// 或者

result.append(str2);

result.append(“!”);

5.子串截取

从指定位置开始截取一段子串:

string str1 = “hello world!”;

string subStr1 = str1.substr(6); // 从第7个字符开始截取到结尾

string subStr2 = str1.substr(0, 5); // 截取前5个字符(不包括第5个)

6.查找和替换

查找一个子串的位置:

int pos = str.find(“world”); // 返回首次出现的位置,未找到则返回npos(-1)

int pos2= str.rfind(“world”); // 返回最后一次出现的位置

bool contains= (str.find(“world”) != string::npos); // 判断是否包含某个子串

替换一个子串:

str.replace(pos, len, newStr); // 从pos处开始替换长度为len的字串为newStr

或者使用erase()和insert()方法:

str.erase(pos, len);

str.insert(pos, newStr);

7.删除空白字符

删除字符串中的空白字符(空格、制表符、换行符等):

string str = “hello world!n”;

str.erase(remove_if(str.begin(), str.end(), ::isspace), str.end());

cout << str; // 输出"helloworld!"

本文介绍了C++中string类的一些常用函数,包括创建和初始化、获取长度和容量、访问和修改元素、字符串拼接、子串截取、查找和替换以及删除空白字符。掌握这些函数可以让你更高效地完成字符串操作。

最后,建议使用C++11或更新版本,因为它们提供了更多方便的字符串操作函数。