string类的常用方法

2023-12-15 20:59:38

string类是C++中一个非常常用的类,它提供了许多方法来操作字符串。以下是一些常用的string类方法:

1.构造函数:

  • string(): 创建一个空的字符串。
    • string(const char* str): 用一个C风格字符串来初始化一个新的字符串。
    • string(size_t n, char c): 创建一个由n个字符c组成的字符串。

2. 赋值操作:

  • operator=(const char* str): 将C风格字符串赋值给字符串。
    • operator=(const string& other): 复制另一个字符串。

3. 字符串连接:

  • append(const char* str): 连接一个C风格字符串到当前字符串的末尾。
    • append(size_t n, char c): 连接n个字符c到当前字符串的末尾。
    • += (const char* str): 连接一个C风格字符串到当前字符串的末尾。

4. 字符串分割:

  • split(const char* delim): 根据给定的分隔符将字符串分割为子串,并返回一个包含这些子串的vector。

5. 字符串查找:

  • find(const char* str, size_t pos = 0): 在当前字符串中搜索给定的子串,并返回第一次出现的位置(从0开始)。如果未找到,返回string::npos
    • rfind(const char* str, size_t pos = npos): 在当前字符串中向后搜索给定的子串,并返回最后一次出现的位置(从0开始)。如果未找到,返回string::npos

6. 字符串替换:

  • replace(size_t pos, size_t len, const char* str): 在当前字符串中,从pos开始替换len个字符为给定的C风格字符串。

7. 字符串比较:

  • compare(const char* str) const: 比较当前字符串与给定的C风格字符串。如果相等返回0,小于返回负数,大于返回正数。
    • operator==(const char* str, const string& other): 检查两个字符串是否相等。
    • operator!=(const char* str, const string& other): 检查两个字符串是否不相等。


8. 字符串截取:

  • substr(size_t pos, size_t len = npos) const: 返回一个新的字符串,它是当前字符串从pos开始的len个字符。如果未指定len,那么将返回从pos到当前字符串末尾的所有字符。

9. 字符串遍历:

* begin() const: 返回一个指向当前字符串第一个字符的迭代器。

* end() const: 返回一个指向当前字符串末尾的迭代器。

10. 其他方法:

  • clear(): 清空当前字符串。
    • reserve(size_t n): 改变当前字符串的容量(保留的空间)。如果n比原来的容量小,此函数不会做任何事。如果n比原来的容量大,此函数将添加新的空闲空间。
    • capacity() const: 返回当前字符串的容量(保留的空间)。
    • empty() const: 如果字符串为空,则返回true,否则返回false。

除了上述提到的方法,string类还有很多其他常用的方法,例如:

1. 插入字符:

  • insert(size_t pos, const char* str): 在当前字符串的指定位置插入给定的C风格字符串。

2. 删除字符:

  • erase(size_t pos, size_t len = npos): 从当前字符串的指定位置删除len个字符。如果未指定len,那么将删除从pos到字符串末尾的所有字符。

3.替换字符:

  • replace(size_t pos, size_t len, char c): 用给定的字符c替换当前字符串中从pos开始的len个字符。

4. 查找第一个/最后一个字符的位置:

  • find_first_of(const char* str, size_t pos = 0): 返回第一个匹配给定字符串中任何一个字符的位置。
    • find_last_of(const char* str, size_t pos = npos): 返回最后一个匹配给定字符串中任何一个字符的位置。

5. 替换子串为其他子串:

  • replace(size_t pos, size_t len, const char* str, size_t strPos, size_t strLen): 用给定子串替换当前字符串中从pos开始的len个字符,成为新的子串。

6. 反转字符串:

  • swap(string& other): 与另一个字符串交换内容。
  • make_lower(): 将当前字符串的所有字符转换为小写。
    • make_upper(): 将当前字符串的所有字符转换为大写。

8. 字符计数:

  • count(const char* str, size_t pos = 0) const: 返回从pos开始匹配给定字符串的次数。

9. 查找子串并返回其长度:

* find_first_not_of(const char* str, size_t pos = 0) const: 返回第一个不匹配给定字符串中任何一个字符的位置,并返回其长度。


10. 其他实用函数:

  • copy(char* buf, size_t n, size_t pos = 0) const: 将当前字符串的前n个字符复制到给定的字符数组buf中。
    • compare(const char* str) const: 比较当前字符串与给定的C风格字符串。如果相等返回0,小于返回负数,大于返回正数。
    • substr(size_t pos, size_t len = npos) const: 返回一个新的字符串,它是当前字符串从pos开始的len个字符。如果未指定len,那么将返回从pos到当前字符串末尾的所有字符。

文章来源:https://blog.csdn.net/luxiaol/article/details/134877886
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。