c++如何忽略大小写统计字符串中的子字符串
时间: 2024-10-13 22:02:33 浏览: 24
字符串分析,分别输出字符串中个单词,并统计出单词个数
在C++中,如果你想忽略大小写并统计字符串中的子字符串出现次数,可以先将原字符串和子字符串都转换为小写或大写,然后再进行匹配计数。这里提供一种简单的步骤:
1. 定义两个字符串变量,一个是原始字符串(`str原`),另一个是要查找的子字符串(`str子`)。
```cpp
std::string str原 = "Hello World, hello again!";
std::string str子 = "hello";
```
2. 使用`transform`函数将两个字符串转成统一的大小写形式。这里假设我们选择将它们都转为小写:
```cpp
std::transform(str原.begin(), str原.end(), str原.begin(), ::tolower);
std::transform(str子.begin(), str子.end(), str子.begin(), ::tolower);
```
3. 然后你可以遍历原始字符串,计算子字符串出现的次数。这里我们可以使用标准库提供的`count`函数:
```cpp
size_t count = std::count(str原.begin(), str原.end(), str子.begin(), str子.end());
```
4. 最后得到的`count`就是子字符串在忽略大小写后的原始字符串中出现的次数。
```cpp
int occurrences = static_cast<int>(count);
```
阅读全文