Python替换敏感词

请输入以下形式的自我介绍:

各位同学好!我叫王小明,很高兴也很荣幸加入到清华大学土木工程专业土木112班这个大家庭中来,这里不仅为我提供了一个成长锻炼、展示自我的良好平台,也让我有机会认识更多的新同学、新朋友。借此,我非常感谢各位同学,谢谢你们能给我一次这么好的机会。

建立敏感词库,包括名字,学校,专业,班级,分别用某 某 某,某大学,X X X和* * *替换

使用字典存储敏感词,遍历替换即可。


s='''各位同学好!我叫王小明,很高兴也很荣幸加入到清华大学土木工程专业土木112班这个大家庭中来,这里不仅为我提供了一个成长锻炼、展示自我的良好平台,也让我有机会认识更多的新同学、新朋友。借此,我非常感谢各位同学,谢谢你们能给我一次这么好的机会。'''
ck = {'王小明':'某某某', '清华':'某某', '土木工程':'XXX', '112':'***'}
for k,v in ck.items():
    if k in s:
        s=s.replace(k,v)
print(s)

还可以用正则去获取敏感词:

import re
name = re.findall('我叫(.*?),', s)[0]
univ=re.findall('.*到(.*?)大学',s)[0]
major=re.findall('.*大学(.*?)专业',s)[0]
class_=re.findall('.*专业(.*)班',s)[0]
print(name,univ,major,class_)
ck = {name:'某'*len(name), univ:'某'*len(univ), major:'X'*len(major), class_:'*'*len(class_)}
for k,v in ck.items():
    if k in s:
        s=s.replace(k,v)
print(s)

如有帮助,请采纳。点击我回答右上角【采纳】按钮。

来吧,支持自定义添加敏感字词库, 支持输入文本即可转换敏感字

效果:

img

代码:


word_dict = {'王小明': '某某某', '清华': '某某', '土木工程': 'XXX', '112': '***'}


def add():
    while True:
        word = input("请输入敏感字(q退出)>>").strip()
        if word == "q": break
        strs = input("请输入替换的字符>>").strip()
        word_dict.update({word: strs})


def replaces():
    while True:
        strs = input("请输入你的文本内容,将会为你替换敏感字(q退出)>>").strip()
        if strs == "q": break
        for k, v in word_dict.items():
            strs = strs.replace(k, v)
        print(strs)


def main():
    while True:
        print("1 --- 添加词库\n2 --- 替换文本")
        num = input("请选择编号>>").strip()
        if num == "1":
            add()
        elif num == "2":
            replaces()
        else:
            print("编号错误!")
main()