【C/C++】基础知识之string字符串

简介: 【C/C++】基础知识之string字符串

在C/C++中,string是一种常用的字符串类型,其实现是一个类。使用string可以方便地进行字符串的操作。

下面是string的一些基本操作:

创建string对象:可以通过以下方式来创建string对象:

string str1; string str2 = "Hello World"; string str3("I am a string");

获取string对象的长度:可以使用size()或者length()方法来获取string对象中字符的数量。

string str = "Test String"; int len = str.size(); // 等同于 str.length();
cout << "String Length: " << len << endl;

连接字符串:可以使用+号来将两个string对象连接起来,或者使用append()方法来追加一个string对象到另一个对象的末尾。

string str1 = "Hello"; string str2 = "World"; string str3 = str1 + " " + str2; cout << "str3: " << str3 << endl;

string str = "Hello"; str.append(" World"); cout << "str: " << str << endl;

查找字符串:可以使用find()方法来查找string对象中是否包含一个子串,如果找到了则返回子串的首字符所在的索引;如果没有找到则返回string::npos。

string str = "Today is a good day"; int pos = str.find("good"); if (pos != string::npos) { cout << "'good' is at position " << pos << endl; } else { cout << "'good' is not found" << endl; }

截取字符串:可以使用substr()方法来截取一个string对象的子串,参数为起始索引和截取长度。

string str = "Today is a good day"; string sub = str.substr(9, 4); // 从第9个字符开始截取4个字符 cout << "sub: " << sub << endl;

删除字符串:可以使用erase()方法来删除string对象中的一个子串,参数为起始索引和删除长度。

string str = "Today is a good day"; str.erase(9, 4); // 删除从第9个字符开始的4个字符 cout << "str: " << str << endl;

替换字符串:可以使用replace()方法来替换string对象中的一个子串,参数为起始索引、替换长度和替换字符串。

string str = "Today is a good day"; str.replace(9, 4, "a bad"); cout << "str: " << str << endl;

以上是string的一些基本操作,使用string可以让字符串的操作更加方便。

相关文章
|
6天前
|
安全 编译器 C语言
【C++数据结构】string的模拟实现
【C++数据结构】string的模拟实现
|
1天前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
12天前
|
安全 程序员 C++
C++ --> string类的使用(详细介绍)
C++ --> string类的使用(详细介绍)
26 5
|
12天前
|
存储 编译器 C语言
C++ --> string类模拟实现(附源码)
C++ --> string类模拟实现(附源码)
37 4
|
1天前
|
缓存 安全 Java
【揭秘】String vs StringBuilder vs StringBuffer:三大字符串类的秘密较量!你真的知道何时该用哪个吗?
【8月更文挑战第19天】探讨Java中`String`、`StringBuilder`与`StringBuffer`的区别及应用场景。`String`不可变,适合做哈希表键或多线程共享。`StringBuilder`支持动态修改字符串,适用于单线程环境以提高性能。`StringBuffer`与`StringBuilder`功能相似,但线程安全。示例代码展示各类型的基本用法。选择哪种类型取决于具体需求和性能考量。
|
7天前
|
编译器 C语言 C++
【C++】模拟实现string类
【C++】模拟实现string类
|
7天前
|
存储 算法 C语言
【C++】认识使用string类
【C++】认识使用string类
|
1月前
|
C++
C++ string中的函数和常用用法
C++ 中string中的函数和常用用法
22 4
|
1月前
|
Java 开发者 Python
Python中,字符串(String)是一种不可变的数据类型
Python中,字符串(String)是一种不可变的数据类型
|
1月前
|
算法 C++
2730. 找到最长的半重复子字符串(c++,滑动窗口)
2730. 找到最长的半重复子字符串(c++,滑动窗口)