敏感词是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。大部分网站、论坛、社交软件都会使用敏感词过滤系统,考虑到该系统的复杂性,这里使用字符串中的replace()方法模拟敏感词过滤,将含有敏感词的语句使用“*”符号进行替换。
本实例要求编写程序,实现替换语句中敏感词功能。
本实例首先需要一个敏感词库,当用户输入的语句中有敏感词库中的词语时,便使用replace()方法替换敏感词。为了保证用户输入的每个词都进行检测,需要使用for循环来完成,最后使用print函数将检测后的语句输出。根据以上分析可整理出以下实现思路:
(1)设定一个敏感词库(本案例敏感词库为一字符串);
(2)使用for循环遍历敏感词库;
(3)在for循环中使用if语句判断用户输入的语句中是否含有敏感词,如果包含敏感词,使用replae()方法将其替换为“*”;
(4)在for循环中将替换后的语句赋值给变量test_sentence;
(5)在for循环外使用print()函数输出变量test_sentence。
sensitive_character = '你好' # 敏感词库
test_sentence = input('请输入一段话:')
for line in sensitive_character: # 遍历输入的字符是存在敏感词库中
if line in test_sentence: # 判断是否包含敏感词
test_sentence = test_sentence.replace(line, '*')
print(test_sentence)
以上代码首先使用变量sensitive_character存储设定的敏感词,然后定义用于存储每次替换后过滤语句的变量result,接着使用input()函数接收用户输入的语句,使用for循环遍历敏感词库,使用if语句判断输入的语句中是否包含敏感词,如果包含敏感词使用字符串中的replace()方法替换,将每次替换后的结果赋值给变量test_sentence,最后使用print()函数输入替换后的语句。
运行代码,控制台输出结果如下(下载中):
请输入一段话:你好,我是张三
**,我是张三