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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!