温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言字符串中的敏感词过滤

发布时间:2024-08-29 21:15:45 来源:亿速云 阅读:161 作者:小樊 栏目:编程语言

在C语言中,实现字符串中敏感词过滤的一种方法是使用字符串匹配算法,例如KMP算法

#include<stdio.h>
#include<string.h>

void filter_sensitive_words(char *text, const char *sensitive_words[], int num_of_words) {
    for (int i = 0; i < num_of_words; i++) {
        char *sensitive_word = sensitive_words[i];
        char *found = strstr(text, sensitive_word);

        while (found != NULL) {
            int length = strlen(sensitive_word);
            memset(found, '*', length);
            found = strstr(text, sensitive_word);
        }
    }
}

int main() {
    char text[] = "这是一个测试文本,包含一些敏感词,例如:苹果、香蕉和橙子。";
    const char *sensitive_words[] = {"苹果", "香蕉", "橙子"};
    int num_of_words = sizeof(sensitive_words) / sizeof(sensitive_words[0]);

    printf("原始文本: %s\n", text);
    filter_sensitive_words(text, sensitive_words, num_of_words);
    printf("过滤后的文本: %s\n", text);

    return 0;
}

在这个示例中,我们定义了一个filter_sensitive_words函数,它接受一个字符串(text)和一个敏感词数组(sensitive_words)作为参数。函数遍历敏感词数组,并使用strstr函数查找字符串中的敏感词。如果找到敏感词,它会使用memset函数将敏感词替换为星号(*)。

main函数中,我们创建了一个包含敏感词的字符串和一个敏感词数组。然后,我们调用filter_sensitive_words函数来过滤敏感词,并在过滤前后打印字符串。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI