您好,登錄后才能下訂單哦!
在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
函數來過濾敏感詞,并在過濾前后打印字符串。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。