敏感词检测——敏感词出现的次数和位置 运用<iostream> 和<string.h>,输出敏感词位置和出现次数
时间: 2024-03-24 12:41:21 浏览: 113
好的,那我可以为您提供一个基于 `<iostream>` 和 `<string.h>` 的敏感词检测的代码示例,可以实现敏感词出现的次数和位置的获取,并输出敏感词的位置和出现次数:
```c++
#include <iostream>
#include <string.h>
using namespace std;
// 定义敏感词库
const char* sensitiveWords[] = {"敏感词1", "敏感词2", "敏感词3", "敏感词4"};
// 敏感词检测函数
void sensitiveWordCheck(const char* text)
{
int textLen = strlen(text);
for (int i = 0; i < textLen; i++)
{
for (int j = 0; j < sizeof(sensitiveWords)/sizeof(char*); j++)
{
int wordLen = strlen(sensitiveWords[j]);
int count = 0;
while (strncmp(text+i, sensitiveWords[j], wordLen) == 0)
{
count++;
i += wordLen;
}
if (count > 0)
{
cout << "敏感词:" << sensitiveWords[j] << ",位置:" << i - wordLen * count << ",次数:" << count << endl;
}
}
}
}
int main()
{
const char* text = "这是一段包含敏感词1和敏感词2的文本,敏感词1出现了两次。";
sensitiveWordCheck(text);
return 0;
}
```
以上代码中,在敏感词检测函数 `sensitiveWordCheck` 中,我们在匹配成功时添加了一个 `while` 循环,用于统计敏感词在文本中的出现次数。统计完成后,我们输出敏感词的位置和出现次数。在 `main` 函数中,我们定义了一个待检测的文本 `text`,并调用 `sensitiveWordCheck` 函数进行敏感词检测和输出。
阅读全文