C++ string中的函数和常用用法

简介: C++ 中string中的函数和常用用法

string中常用操作函数:

s.substr(p,n) 截取字符的某个子串。p表示字符串的某个下标,n表示长度,返回字符串s中下标从p开始的n个字符的字符串,如果n省略就取到底。

s.erase(p,n) 删除s中从p开始的n个字符,如果n省略,就取到底。

s.erase(string::iterator it)删除it 位置的字符

s.erase(s.first,s.last),删除first-last之间的所有元素

s1.insert(p,s2,pos,n) 在字符串s1位置p前插入字符串s2,后面两个参数可以省略。如果有后面两个参数pos和n,则从s2中截取从pos位置开始长度为n的字符串,插入到字符串s1位置p前。

s.find(s1) 在字符串s中从前往后查找s1,如果能找到,返回第一次出现的s1首字母下标位置,找不到返回-1 (找不到也可写成返回string::npos

s.find(s1,pos) 是用来寻找从字符串s1中pos开始(包括pos处字符)匹配s1的位置。

s.rfind(s1) 在s中从后往前寻找字符串s1后边第一次出现的下标。

s.rfind(s1,pos)在s中从pos位置开始从后往前寻找字符串s1后边第一次出现的下标。

s.insert(p,n,c) 在字符串s中p位置前插入n个字符c。

s.clear() 清空字符串

string s; s="12321"; s=""; 给字符串赋值空串来清空

s.size() 或者s.length() 返回字符串s的长度。

s.empty() 判断字符串s是否为空,为空返回1,非空返回0。

s[i] 返回字符串s中下标为i的位置,string中下标也是从0开始。

count(s.begin(),s.end(), 'a')可以用来统计字符串中某个字符的个数

赋值运算符:= 将后面的字符串赋值给前面的字符串

比较运算符:== != < <= > >= 比较两个字符串的字典序大小

连接运算符: + += 将一个字符串加到另一个字符串后面

相关文章
|
15天前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
12 1
|
22天前
|
存储 C++
c++学习笔记05 函数
C++函数使用的详细学习笔记05,包括函数的基本格式、值传递、函数声明、以及如何在不同文件中组织函数代码的示例和技巧。
26 0
c++学习笔记05 函数
|
21天前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
29 0
|
22天前
|
存储 程序员 编译器
c++学习笔记08 内存分区、new和delete的用法
C++内存管理的学习笔记08,介绍了内存分区的概念,包括代码区、全局区、堆区和栈区,以及如何在堆区使用`new`和`delete`进行内存分配和释放。
35 0
|
3月前
|
Java UED
Java中String强转int:一种常见的错误和解决方法
在Java中将非数字字符串转换为整数会导致`NumberFormatException`。要解决这个问题,可以使用`try-catch`捕获异常,正则表达式验证数字格式,或利用异常信息提供错误提示。例如,`Integer.parseInt()`会因遇到非数字字符如`&quot;123abc&quot;`而抛出异常,但通过异常处理或正则`\\d+`可确保安全转换。记得在编程时避免直接强转,以防止程序异常中断。
|
27天前
|
前端开发 Java
成功解决:java.lang.String cannot be cast to java.lang.Integer
这篇文章记录了作者在使用Axios二次封装时遇到的一个Java类型转换问题,即前端传递的字符串参数不能直接转换为Integer类型,文章提供了正确的转换方法来解决这个问题。
成功解决:java.lang.String cannot be cast to java.lang.Integer
|
22天前
|
安全 Java API
Java系类 之 String、StringBuffer和StringBuilder类的区别
这篇文章讨论了Java中`String`、`StringBuffer`和`StringBuilder`三个类的区别,其中`String`是不可变的,而`StringBuffer`是线程安全的可变字符串类,`StringBuilder`是非线程安全的可变字符串类,通常在单线程环境下性能更优。
Java系类 之 String、StringBuffer和StringBuilder类的区别
|
30天前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
64 1
|
2月前
|
Java
Java中将保留四位小数的Double转换为String的方法详解
选择合适的方法,可以使代码更加简洁、高效,同时也能满足不同场景下的需求。
33 5
|
2月前
|
安全 Java
Java基础之StringBuffer
【7月更文挑战第1天】 Java中的`StringBuffer`是线程安全的字符串操作类,适合多线程环境,而`StringBuilder`非线程安全,速度更快,适用于单线程。两者提供`append()`、`insert()`、`delete()`等方法修改字符串,避免了频繁创建新对象的性能问题。在不需要线程安全时,推荐使用`StringBuilder`以提高效率。
22 1