大学 Python 程序设计实验报告:替换敏感词

本文介绍了两种方法,利用正则表达式和replace()函数,实现用户输入中特定敏感词的替换,保护隐私并过滤不适当内容。
摘要由CSDN通过智能技术生成

敏感词通常是指带有不健康色彩的词语或不文明的词语。对于文章中出现的敏感词,常用的处理方法是使用特殊符号(如*)对敏感词进行替换。

要求编写代码,设定敏感词列表(敏感词之间用逗号分隔),接收用户输入,用 * 替换掉用户输入中的敏感词后输出。

例如:

请输入敏感词,敏感词之间用逗号分隔:逃课,旷课,考试作弊

输入用户评论:远离旷课,拒绝逃课,诚信考试,拒绝考试作弊。

用户评论输出:远离**,拒绝**,诚信考试,拒绝****。

程序源代码:使用正则表达式

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)

运行结果:

请输入敏感词,敏感词之间用逗号分隔:逃课,旷课,考试作弊
输入用户评论:远离旷课,拒绝逃课,诚信考试,拒绝考试作弊。
用户评论输出: 远离**,拒绝**,诚信考试,拒绝****

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

  • 23
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值