前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python敏感词过滤replace_python用类实现文章敏感词的过滤方法示例

python敏感词过滤replace_python用类实现文章敏感词的过滤方法示例

作者头像
全栈程序员站长
发布2022-09-08 10:56:28
1.5K0
发布2022-09-08 10:56:28
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

过滤一遍并将敏感词替换之后剩余字符串中新组成了敏感词语,这种情况就要用递归来解决,直到过滤替换之后的结果和过滤之前一样时才算结束

第一步:建立一个敏感词库(.txt文本)

第二步:编写代码在文章中过滤敏感词(递归实现)

# -*- coding: utf-8 -*-

# author 代序春秋

import os

import chardet

# 获取文件目录和绝对路径

curr_dir = os.path.dirname(os.path.abspath(__file__))

# os.path.join()拼接路径

sensitive_word_stock_path = os.path.join(curr_dir, ‘sensitive_word_stock.txt’)

# 获取存放敏感字库的路径

# print(sensitive_word_stock_path)

class ArticleFilter(object):

# 实现文章敏感词过滤

def filter_replace(self, string):

# string = string.decode(“gbk”)

# 存放敏感词的列表

filtered_words = []

# 打开敏感词库读取敏感字

with open(sensitive_word_stock_path) as filtered_words_txt:

lines = filtered_words_txt.readlines()

for line in lines:

# strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

filtered_words.append(line.strip())

# 输出过滤好之后的文章

print(“过滤之后的文字:” + self.replace_words(filtered_words, string))

# 实现敏感词的替换,替换为*

def replace_words(self, filtered_words, string):

# 保留新字符串

new_string = string

# 从列表中取出敏感词

for words in filtered_words:

# 判断敏感词是否在文章中

if words in string:

# 如果在则用*替换(几个字替换几个*)

new_string = string.replace(words, “*” * len(words))

# 当替换好的文章(字符串)与被替换的文章(字符串)相同时,结束递归,返回替换好的文章(字符串)

if new_string == string:

# 返回替换好的文章(字符串)

return new_string

# 如果不相同则继续替换(递归函数自己调用自己)

else:

# 递归函数自己调用自己

return self.replace_words(filtered_words, new_string)

def main():

while True:

string = input(“请输入一段文字:”)

run = ArticleFilter()

run.filter_replace(string)

continue

if __name__ == ‘__main__’:

main()

以上就是本文的全部内容,希望对大家的学习有所帮助

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136876.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档