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

python敏感词过滤replace_python用类实现文章敏感词的过滤方法示例过滤一遍并将敏感词替换之后剩余字符串中新组成了敏感词语,这种情况就要用递归来解决,直到过滤替换之后的结果和过滤之前一样时才算结束第一步:建立一个敏感词库(.txt文本)第二步:编写代码在文章中过滤敏感词(递归实现)#-*-coding:utf-8-*-#author代序春秋importosimportchardet#获取文件目录和绝对路径curr_dir=os.path.di…

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

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

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

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

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

# -*- 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()

运行结果:

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

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

您可能感兴趣的文章:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机组成原理知识点

    计算机组成原理知识点计算机体系结构(ComputerArchitecture)主要研究硬件和软件功能的划分,确定硬件和软件的界面,哪部分功能由硬件系统来完成,哪部分功能由软件系统来完成。计算机组成原理(ComputerOrganization)是依据计算机体系结构,在确定且分配了硬件子系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,以及它们之间的连接关系,实现机器指令级的各种功能和特性,这点上说

    2022年6月1日
  • pycharm为什么有中文就运行不了_pycharm为什么不能运行

    pycharm为什么有中文就运行不了_pycharm为什么不能运行1.下载并解压JBR(链接:link)我选的是左上角第一个2.替换pycharm安装文件里的jbr文件3.重启pycharm即可JBR链接地址:https://confluence.jetbrains.com/pages/viewpage.action?pageId=173178989

    2022年8月29日
  • 群晖nas 文件服务器,群晖nas挂到云服务器上

    群晖nas 文件服务器,群晖nas挂到云服务器上群晖nas挂到云服务器上内容精选换一换在公有云上部署SAPHANA所需要的云服务如下。无法直接从云备份控制台查看备份中的数据,您可以通过以下几种方式进行查看:云服务器备份使用云服务器备份创建镜像后,再使用镜像创建云服务器。登录云服务器,查看服务器中的数据。云硬盘备份使用云硬盘备份创建新的云硬盘后,将云硬盘挂载至云服务器上。登录云服务器,查看磁盘中的数据。SFSTurbo备份使用SFSTur…

    2022年6月26日
  • Linux中 rwx含义,linux中rwx

    Linux中 rwx含义,linux中rwx弹性云服务器ECS弹性云服务器(ElasticCloudServer)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率三年低至5折,多种配置可选了解详情认证鉴权||https://support.huaweicloud.com/api-ecs/ecs_01_0013.html,如何使用华为云提供的CentOS-Alt…

    2022年6月12日
  • 博客备份工具——小收集

    博客备份工具——小收集打算长期写原创博客了,当然也就要考虑备份问题了。虽然服务器很稳定,但是一旦出什么差错,技术类的东西丢了真的很难恢复,特别痛苦。 所以收集一下可用的工具吧,针对CSDN,因为我们现在有代码片了,不知道各个工具的效果如何: 豆约翰博客备份专家V2.6_豆约翰http://www.douyuehan.com/Download1/File/5.aspx [推荐]博客备份工具B

    2022年7月25日
  • html div 隐藏滚动条样式,div滚动条样式隐藏与显示

    html div 隐藏滚动条样式,div滚动条样式隐藏与显示DIV滚动条样式是可以设置的,CSS滚动条同样也可以显示与隐藏,对div设置滚动条,设置其横向滚动条和纵向滚动条样式应该怎么做呢?要设置CSS滚动条样式,需要用到overflow-y和overflow-x来设置div盒子对象右侧和底部滚动条效果。同时也可以使用CSS样式设置html框架iframe的滚动条隐藏,接下来为大家介绍。常规overflow怎么设置overflow-y:scroll总是显…

    2022年7月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号