python敏感词替换是对字符串操作的典型应用,这个功能很简单,但是还有一点小坑;比如包含敏感词替换完以后,还有一定机率出现替换后又有新的敏感词生成。这时候就的使用递归来实现,直至没有敏感词出现才叫替换完成
目录
1python敏感词替换成*号
2python敏感词替换for循环
3python中replace()函数的用法
4python敏感词替换完整代码
python敏感词替换成*号
例:天气为敏感词。替换成*号
str1='今天的天气没有昨天的天气好'
str2=str1.replace('天气','*')
print(str2)
python敏感词替换for循环
for循环替换多个敏感字符串
str1=['今天的天气没有昨天的天气好','明天的天气预报阴天有小雨']
for s in str1:
s=s.replace('天气','*')
print(s)
python中replace()函数的用法
Python replace() 方法把字符串中的 old(旧字符串)替换成 new(新),如果指定第三个 max,则替换不超过参数 max 次。
str.replace(旧,新 [替换次数])
实例:
str1='今天的天气没有昨天的天气好'
str2=str1.replace('天气','weather')
#限制替换1次
str3=str1.replace('天气','weather',1)
print(str2)
print(str3)
python敏感词替换完整代码
需求读取敏感词库,替换文件内包含敏感词汇的字符串为*
敏感词汇:
mg=['天气','*预']
str1=['今天的天气没有昨天的天气好','明天的天气预报阴天有小雨','今天的weather真好']
def r_str(s,a):
#s:要检测的字符串,
#a:敏感字符串列表
new_str =s
for a1 in a:
if a1 in s:
new_str=s.replace(a1,'*'*len(a1))
# print(new_str)
if new_str==s:
# exit(new_str)
return new_str
else:
return r_str(new_str,a)
#调用替换函数
for s in str1:
print(r_str(s,mg))