在Python中实现敏感词替换,你可以使用字符串的`replace`方法或者正则表达式`re.sub`方法。下面是一个使用`replace`方法的简单示例:
定义敏感词列表
sensitive_words = ['敏感词1', '敏感词2', '敏感词3']
定义替换词
replace_word = '*'
定义过滤函数
def filter_sensitive_words(text):
for word in sensitive_words:
text = text.replace(word, replace_word)
return text
测试过滤函数
text = '这是一段包含敏感词的文本,敏感词1和敏感词2应该被替换'
filtered_text = filter_sensitive_words(text)
print(filtered_text) 输出:这是一段包含敏感词的文本,*应该被替换
如果你需要处理更复杂的情况,例如敏感词可能出现在句子的任何位置,或者敏感词之间可能存在重叠,那么你可能需要使用正则表达式。下面是一个使用正则表达式的示例:
import re
定义敏感词列表
sensitive_words = ['敏感词1', '敏感词2', '敏感词3']
定义替换词
replace_word = '*'
定义过滤函数
def filter_sensitive_words(text):
构建正则表达式模式,使用\b来匹配单词边界
pattern = '|'.join(re.escape(word) for word in sensitive_words)
使用re.sub替换所有匹配的敏感词
filtered_text = re.sub(pattern, replace_word, text)
return filtered_text
测试过滤函数
text = '这是一段包含敏感词的文本,敏感词1和敏感词2应该被替换'
filtered_text = filter_sensitive_words(text)
print(filtered_text) 输出:这是一段包含敏感词的文本,*应该被替换
请注意,上述代码示例中的`re.escape`函数用于转义敏感词中的特殊字符,确保它们被正确匹配。
如果你需要处理大量敏感词或者需要更高效的替换方法,你可以考虑使用Trie树等数据结构来优化查找和替换过程。