如何在 c++ 中查找字符串中的子字符串
本文演示了在 C++ 中查找字符串中给定子字符串的方法。
使用 find
方法在 C++ 中查找字符串中的子字符串
最直接的解决方法是 find
函数,它是一个内置的字符串方法,它以另一个字符串对象作为参数。
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl
using std::string;
int main(){
string str1 = "this is random string oiwao2j3";
string str2 = "oiwao2j3";
string str3 = "random s tring";
str1.find(str2) != string::npos ?
cout << "str1 contains str2" << endl :
cout << "str1 does not contain str3" << endl;
str1.find(str3) != string::npos ?
cout << "str1 contains str3" << endl :
cout << "str1 does not contain str3" << endl;
return EXIT_SUCCESS;
}
输出:
str1 contains str2
str1 does not contain str3
或者,你可以使用 find
来比较两个字符串中的特定字符范围。要做到这一点,你应该把范围的起始位置和长度作为参数传递给 find
方法。
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl
using std::string;
using std::stoi;
int main(){
string str1 = "this is random string oiwao2j3";
string str3 = "random s tring";
constexpr int length = 6;
constexpr int pos = 0;
str1.find(str3.c_str(), pos, length) != string::npos ?
cout << length << " chars match from pos " << pos << endl :
cout << "no match!" << endl;
return EXIT_SUCCESS;
}
输出:
6 chars match from pos 0
使用 rfind
方法在 C++ 中查找字符串中的子字符串
rfind
方法的结构与 find
类似。我们可以利用 rfind
来寻找最后的子字符串,或者指定一定的范围来匹配给定的子字符串。
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl
using std::string;
using std::stoi;
int main(){
string str1 = "this is random string oiwao2j3";
string str2 = "oiwao2j3";
str1.rfind(str2) != string::npos ?
cout << "last occurrence of str3 starts at pos "
<< str1.rfind(str2) << endl :
cout << "no match!" << endl;
return EXIT_SUCCESS;
}
输出:
last occurrence of str3 starts at pos 22
相关文章
MySQL 中将字符串附加到现有字段
发布时间:2023/05/08 浏览次数:63 分类:MySQL
-
本文我们将学习使用 CONCAT() 和 CONCAT_WS() 函数在 MySQL 字段中连接或附加字符串值。使用 CONCAT() 和 CONCAT_WS() 将字符串附加到 MySQL 中的现有字段
MySQL 将字符串拆分成行
发布时间:2023/05/08 浏览次数:68 分类:MySQL
-
在本文中,我们将讨论什么是将字符串拆分为行以及如何创建一个自执行函数。 我们主要讨论 SUBSTRING_INDEX() 方法以及一些示例以轻松理解该概念。
在 MongoDB 中将字符串转换为日期
发布时间:2023/04/20 浏览次数:63 分类:MongoDB
-
MongoDB 是一个越来越受欢迎的优秀平台。 在它提供的各种功能中,MongoDB 还允许您将数据从一种类型转换为另一种类型。本文介绍了在各种版本的 MongoDB 中将字符串转换为日期字段的方法。
如何从 Python 中的字符串中删除第一个字符
发布时间:2023/04/11 浏览次数:118 分类:Python
-
在Python中,要删除一个字符串的第一个字符,可以使用切片操作或者字符串方法。 方法一:使用切片操作 在Python中,可以使用切片操作来获取字符串的子字符串。切片操作使用方括号
如何从 Python 中的字符串中删除特殊字符
发布时间:2023/04/11 浏览次数:272 分类:Python
-
在Python中,可以使用多种方法来删除字符串中的特殊字符。在本文中,我们将介绍一些最常见的方法。 方法一:使用replace()方法删除特殊字符 可以使用字符串的 replace() 方法来删除字符
如何在 Python 中将字符串转换为双精度
发布时间:2023/04/11 浏览次数:191 分类:Python
-
在Python中,将字符串转换为双精度浮点数(double)可以使用内置的 float() 函数。在本文中,我们将介绍如何使用 float() 函数将字符串转换为双精度浮点数,并讨论一些相关问题。 使用
如何在 C++ 中把字符串转换为小写
发布时间:2023/04/09 浏览次数:63 分类:C++
-
介绍了如何将 C++ std::string 转换为小写的方法。当我们在考虑 C++ 中的字符串转换方法时,首先要问自己的是我的输入字符串有什么样的编码
如何在 C++ 中把字符串转换为 Char 数组
发布时间:2023/04/09 浏览次数:107 分类:C++
-
本文介绍了在 C++ 中把字符串转换为 char 数组的多种方法。使用 std::basic_string::c_str 方法将字符串转换为 char 数组
如何在 C++ 中把 Char 数组转换为字符串
发布时间:2023/04/09 浏览次数:201 分类:C++
-
本文介绍了在 C++ 中将 char 数组转换为字符串的多种方法。使用 std::string 构造函数将 char 数组转换为 string