21xrx.com
2024-12-22 22:35:12 Sunday
登录
文章检索 我的文章 写文章
C++如何判断字符串中是否包含某个字符?
2023-07-02 01:11:28 深夜i     --     --
C++ 判断 字符串 包含 字符

C++中判断字符串中是否包含某个字符是一个非常常见的需求。下面我们将分几个方面介绍如何实现。

## 方法一:遍历字符串

最简单的方法是遍历整个字符串,依次检查每一个字符是否和目标字符相同。如果找到了目标字符,就返回true,否则返回false。具体实现如下:


bool containsChar(string str, char c) {

  for (int i = 0; i < str.length(); i++) {

    if (str[i] == c)

      return true;

    

  }

  return false;

}

## 方法二:使用C++标准库

C++标准库提供了一个函数std::find,可以在一个容器中查找某个元素。字符串是一种容器,因此可以用这个函数来判断字符串中是否包含某个字符。


bool containsChar(string str, char c) {

  return (std::find(str.begin(), str.end(), c) != str.end());

}

## 方法三:使用C++11和STL算法

C++11引入了许多新的算法,其中一个是std::any_of,可以用来判断容器中是否存在任意一个元素满足某个条件。利用这个新算法,可以很容易地判断字符串中是否包含某个字符。


bool containsChar(string str, char c) {

  return std::any_of(str.begin(), str.end(), [c](const char& x){return x == c;});

}

## 方法四:使用C++17的std::string_view

C++17引入了一个新的字符串类型std::string_view,它可以代表任何包含char类型的数据片段。并且,由于它是一个轻量级的视图类型,因此可以非常高效地判断它是否包含某个字符。


bool containsChar(std::string_view str, char c) {

  return (str.find(c) != std::string_view::npos);

}

以上就是几种判断字符串中是否包含某个字符的方法。根据不同的需求和语言标准,可以选择最适合自己的方式来实现。

  
  

评论区

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