微信小程序> Python小程序练习敏感词替换成*星号

Python小程序练习敏感词替换成*星号

浏览量:422 时间: 来源:福气少侠

小程序需求说明:

敏感词文本文件 filtered_words.txt,里面的内容 和 上一题一样,当用户输入敏感词语,则用 星号 * 替换
例如当用户输入「北京是个好城市」,则变成「**是个好城市」

思路及程序编写

#流程以及思路确定"""1. 用户输入一串文字 ,保存到user_input中2.检查文字是否有敏感词,以及敏感词的具体位置。        2.1 文件迭代器读取敏感词        2.2 使用 str.find() 找到敏感词的位置        2.3 使用format方式替换掉敏感词???  此方案pass        2.3  直接使用relpace方式替换掉敏感词!3.一句话中可能含有多个敏感字,这个时候就要重复2的步骤。4.使用 ** 替换掉敏感词对应的个数。"""user_input=input('Leave your comments:  ')for filter_word in open('filtered_words.txt'):    fw=filter_word.rstrip()    if fw in user_input:        fw_len=len(fw)        user_input=user_input.replace(fw,'*'*fw_len)  #将user_input在原处进行修改,进行下一次循环查找。else:           print(user_input)

执行后的输出:

Leave your comments:  北京是个好城市**是个好城市RESTART:Leave your comments:  你妈妈在北京是一个公务员**妈在**是一个***

小结(always continue…)

整个小程序的重点:

敏感词的替换
对比上一题,这一题多出来的一个操作就是敏感词的替换!而针对敏感词的替换我们可能会想到使用find方法,找到该敏感词所在的地方,然后再格式化替换;不过这样过于繁琐了。
针对字符串,直接使用replace()方法就可以轻松实现。

敏感词替换多少个星号?
我们直到,在Python的多态特性中:

           
数据类型星号的作用
数值类型numberic乘法
字符串文本类型重复次数

所以多少个星号我们只需要使用
len(敏感词)就可以了
在替代的时候:

user_input.relpace(敏感词,'*'*len(敏感词))

如果用户一句话中有多个敏感词呢?
我们上一题中的程序只要检测到一个敏感词,就会替换然后break出来。因为上一题的需求是检测是否含有敏感词。

这一次的需求是要将敏感词替换。所以要考虑的问题是 ,如果用户的一句话中有多个敏感词呢?
例如:你妈妈在北京是一个公务员
含有三个敏感词。所以针对上面进行修正。
这里的修改需要针对用户输入的那个语句的原处进行修改

小程序来自于

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎