21xrx.com
2024-11-08 23:20:51 Friday
登录
文章检索 我的文章 写文章
C++查找字符串
2023-07-07 10:43:13 深夜i     --     --
C++ 字符串 查找

在C++中,搜索字符串是一种常见的操作。C++中提供了多种方式来查找字符串。以下是一些常用的方法:

1. std::string::find() 函数

std::string::find() 函数可以在一个字符串中查找另一个指定的子串,如果找到则返回该子串第一次出现的位置,如果没有找到则返回std::string::npos。

例如,下面的代码演示了如何在一个字符串中查找另一个子串:


#include <iostream>

#include <string>

int main() {

 std::string str = "hello world";

 std::string substr = "world";

 size_t pos = str.find(substr);

 if (pos != std::string::npos) {

  std::cout << "found at position " << pos << "\n";

 } else {

  std::cout << "not found\n";

 }

 return 0;

}

输出为:


found at position 6

2. strstr() 函数

C++中的strstr()函数可以在一个字符串中查找另一个子串,如果找到则返回该子串第一次出现的位置,如果没有找到则返回NULL。

例如,下面的代码演示了如何使用strstr()函数在一个字符串中查找另一个子串:


#include <iostream>

#include <cstring>

int main() {

 char str[] = "hello world";

 char substr[] = "world";

 char* pos = strstr(str, substr);

 if (pos) {

  std::cout << "found at position " << pos - str << "\n";

 } else {

  std::cout << "not found\n";

 }

 return 0;

}

输出为:


found at position 6

3. regex_search() 函数

C++中的regex_search()函数可以使用正则表达式在一个字符串中查找满足条件的子串,如果找到则返回true,否则返回false。

例如,下面的代码演示了如何使用regex_search()函数在一个字符串中查找满足条件的子串:


#include <iostream>

#include <regex>

int main() {

 std::string str = "hello world";

 std::regex pattern("world");

 if (std::regex_search(str, pattern)) {

  std::cout << "found\n";

 } else {

  std::cout << "not found\n";

 }

 return 0;

}

输出为:


found

总之,以上是C++中常用的几种字符串查找方法。开发者可根据实际情况选择最适合自己的方式。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复