敏感词通常是指带有不健康色彩的词语或不文明的词语。对于文章中出现的敏感词,常用的处理方法是使用特殊符号(如*)对敏感词进行替换。
要求编写代码,设定敏感词列表(敏感词之间用逗号分隔),接收用户输入,用 * 替换掉用户输入中的敏感词后输出。
例如:
请输入敏感词,敏感词之间用逗号分隔:逃课,旷课,考试作弊
输入用户评论:远离旷课,拒绝逃课,诚信考试,拒绝考试作弊。
用户评论输出:远离**,拒绝**,诚信考试,拒绝****。
程序源代码:使用正则表达式
import re
def replace_words(text, words):
# 将敏感词列表转换为正则表达式的字符串形式
words_pattern = '|'.join(map(re.escape, words))
# 编译正则表达式以提高匹配效率
pattern = re.compile(r'{}'.format(words_pattern))
# 使用函数来动态替换为不同数量的星号
def repl(match):
word = match.group(0)
return '*' * len(word)
# 使用正则表达式替换敏感词
return pattern.sub(repl, text)
# 接收用户输入的敏感词
words = input("请输入敏感词,敏感词之间用逗号分隔:").split(',')
# 接收用户评论
comment = input("输入用户评论:")
# 替换敏感词
comment2 = replace_words(comment, words)
print("用户评论输出:{}".format(comment2))
程序源代码:使用 replace()
s = input("请输入敏感词,敏感词之间用逗号分隔:").split(',')
str1 = input("输入用户评论:")
for word in s:
if word in str1:
str1 = str1.replace(word, '*'*len(word))
print("用户评论输出:", str1)
运行结果:
请输入敏感词,敏感词之间用逗号分隔:逃课,旷课,考试作弊
输入用户评论:远离旷课,拒绝逃课,诚信考试,拒绝考试作弊。
用户评论输出: 远离**,拒绝**,诚信考试,拒绝****。
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!