当前位置: 首页 > news >正文

string类的常用方法

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

  1. 构造函数:
  • string(): 创建一个空的字符串。
    • string(const char* str): 用一个C风格字符串来初始化一个新的字符串。
    • string(size_t n, char c): 创建一个由n个字符c组成的字符串。
  1. 赋值操作:
  • operator=(const char* str): 将C风格字符串赋值给字符串。
    • operator=(const string& other): 复制另一个字符串。
  1. 字符串连接:
  • append(const char* str): 连接一个C风格字符串到当前字符串的末尾。
    • append(size_t n, char c): 连接n个字符c到当前字符串的末尾。
    • += (const char* str): 连接一个C风格字符串到当前字符串的末尾。
  1. 字符串分割:
  • split(const char* delim): 根据给定的分隔符将字符串分割为子串,并返回一个包含这些子串的vector。
  1. 字符串查找:
  • find(const char* str, size_t pos = 0): 在当前字符串中搜索给定的子串,并返回第一次出现的位置(从0开始)。如果未找到,返回string::npos
    • rfind(const char* str, size_t pos = npos): 在当前字符串中向后搜索给定的子串,并返回最后一次出现的位置(从0开始)。如果未找到,返回string::npos
  1. 字符串替换:
  • replace(size_t pos, size_t len, const char* str): 在当前字符串中,从pos开始替换len个字符为给定的C风格字符串。
  1. 字符串比较:
  • compare(const char* str) const: 比较当前字符串与给定的C风格字符串。如果相等返回0,小于返回负数,大于返回正数。
    • operator==(const char* str, const string& other): 检查两个字符串是否相等。
    • operator!=(const char* str, const string& other): 检查两个字符串是否不相等。
  1. 字符串截取:
  • substr(size_t pos, size_t len = npos) const: 返回一个新的字符串,它是当前字符串从pos开始的len个字符。如果未指定len,那么将返回从pos到当前字符串末尾的所有字符。
  1. 字符串遍历:

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

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

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

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

  1. 插入字符:
  • insert(size_t pos, const char* str): 在当前字符串的指定位置插入给定的C风格字符串。
  1. 删除字符:
  • erase(size_t pos, size_t len = npos): 从当前字符串的指定位置删除len个字符。如果未指定len,那么将删除从pos到字符串末尾的所有字符。
  1. 替换字符:
  • replace(size_t pos, size_t len, char c): 用给定的字符c替换当前字符串中从pos开始的len个字符。
  1. 查找第一个/最后一个字符的位置:
  • find_first_of(const char* str, size_t pos = 0): 返回第一个匹配给定字符串中任何一个字符的位置。
    • find_last_of(const char* str, size_t pos = npos): 返回最后一个匹配给定字符串中任何一个字符的位置。
  1. 替换子串为其他子串:
  • replace(size_t pos, size_t len, const char* str, size_t strPos, size_t strLen): 用给定子串替换当前字符串中从pos开始的len个字符,成为新的子串。
  1. 反转字符串:
  • swap(string& other): 与另一个字符串交换内容。
  1. 字符串转换为大写/小写:
  • make_lower(): 将当前字符串的所有字符转换为小写。
    • make_upper(): 将当前字符串的所有字符转换为大写。
  1. 字符计数:
  • count(const char* str, size_t pos = 0) const: 返回从pos开始匹配给定字符串的次数。
  1. 查找子串并返回其长度:

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

  1. 其他实用函数:
  • 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到当前字符串末尾的所有字符。
http://www.lryc.cn/news/236704.html

相关文章:

  • Java面向对象(高级)-- 单例(Singleton)设计模式
  • 【Kingbase FlySync】命令模式:安装部署同步软件,实现Oracle到KES实现同步
  • 2311d导入c的语义不同
  • OpenHarmony Meetup北京站招募令
  • C语言——冒泡排序
  • 08.智慧商城——购物车布局、全选反选、功能实现
  • 金属压块液压打包机比例阀放大器
  • python 自动化福音,30行代码手撸ddt模块
  • 基于GATK流程化进行SNP calling
  • 【Java SE】如何解读Java的继承和多态的特性?
  • uniapp 手动调用form表单submit事件
  • 11月20日星期一今日早报简报微语报早读
  • Unity中 Start和Awake的区别
  • 进度条、git常见指令以及gdb的常用指令
  • ubuntu20编译安装pkg-config
  • 奇富科技发布鸿蒙元服务1.0版本,打造鸿蒙生态金融科技全新体验
  • 【Git学习一】初始化仓库git init的使用和提交git add与git commit的使用
  • Redux-状态管理组件
  • 【bigo前端】egret中的对象池浅谈
  • 用公式告诉你 现货黄金投资者要不要换策略?
  • 系列六、多线程集合不安全
  • MidJourney笔记(1)-入门
  • CRM系统定制开发价格
  • Kubernetes实战(五)-pod之间网络请求实战
  • 7年经验之谈 —— 如何高效的开展app的性能测试?
  • 小程序action-sheet结合自定义tabbar显示
  • 机器学习笔记 - 隐马尔可夫模型的简述
  • iOS学习 --- Xcode 15 下载iOS_17.0.1_Simulator失败解决方法
  • 多视图聚类论文阅读(二)
  • Docker在Centos7下的安装