使用Python检测符号及乱码字符

您所在的位置:网站首页 乱码自动识别怎么办 使用Python检测符号及乱码字符

使用Python检测符号及乱码字符

2024-07-09 20:29| 来源: 网络整理| 查看: 265

最近在进行关键词的分析,中间涉及到对一些特殊的字符进行过滤的需求。包括带符号的(有部分还是SQL注入),并且存在一部分乱码的问题。梳理下来供后续使用。

检测字符串是否包含特殊符号

方案一:通过字符匹配的方式进行判定

def if_contain_symbol(keyword): symbols = "~!@#$%^&*()_+-*/,.[]\/" for symbol in symbols: if symbol in keyword: return True else: return False

方案二:使用正则表达式判断(经测试\W在包含中文的情况下可用)

import re def if_contain_symbol(keyword): if re.search(r"\W", keyword): return True else: return False

检测字符串中是否有乱码

人眼能识别的乱码在程序看来并没有想象中那么简单。针对程序来说“涓囧厓锛屾厛锽勬崘鐚”本身也是正常的字符。下面分享下一些折中的方案:

方案一:对分词后的分词率进行统计

从概率层面,正常的文本分词率(文本长度/分词后个数)>2,而乱码字符则接近1。 具体代码如下:

''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' # -*- encoding:utf-8 -*- import jieba def if_contain_chaos(keyword): str_len = len(keyword) seg_len = len(jieba.lcut(keyword)) if str_len / seg_len


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3