【Python正则-驯化】最全面干净的通过python将文本中的异常符号进行处理技巧

【Python正则-驯化】最全面干净的通过python将文本中的异常符号进行处理技巧

本次修炼方法请往下查看

🌈 欢迎莅临 我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!

🎇 免费获取相关内容文档关注: 微信公众号,发送 pandas 即可获取

🎇 相关内容视频 讲解 B站

🎓 博主简介 :AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验

🔧 技术专长 : 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析 等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次 有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100%

📝 博客风采 : 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。

🌵文章目录🌵

    • [🎯 1. 基本介绍](#🎯 1. 基本介绍)
    • [🎯 2、解决方法](#🎯 2、解决方法)
      • [2.1 通过穷举的解决](#2.1 通过穷举的解决)
      • [2.1 通过unicode的解决](#2.1 通过unicode的解决)
    • [🎯 3. 注意事项](#🎯 3. 注意事项)
    • [🎯 4. 总结](#🎯 4. 总结)

下滑查看解决方法

  

🎯 1. 基本介绍

  在处理各类数据时,有时候数据的key为文本数据,这时经常会有相关的异常符号的出现,如果我们通过穷举的方法对数据进行过滤会出现一定泄露的问题,具体的常用的数据如下所示:

python 复制代码
string = "123我123456abcdefgABCVDFF?/ ,。,.:;:''';'''[]{}()()《》"

🎯 2、解决方法

2.1 通过穷举的解决

  我们可以通过如下的正则表达式对其进行解决,具体的模版如下所示:

python 复制代码
`[a-zA-Z0-9'!"#$%&\'()*+,-./:;<=>?@,。?★、...【】《》?± ""''![\\]^_`{|}~]`

  通过上面的模版通过python对其进行修改,具体的代码如下所示:

python 复制代码
import re 

string = "123我123456abcdefgABCVDFF?/ ,。,.:;:''';'''[]{}()()《》"

sub_str = re.sub(u'([a-zA-Z0-9'!"#$%&\'()*+,-./:;<=>?@,。?★、...【】《》?± ""''![\\]^_`{|}~])',"",string)
sub_str

# 输出结果
'我()'

  通过上面的方法,真实的环境中异常符号的数据特别的多,我们根本没法完全全部列出来,因此,这种办法很难处理好数据

2.1 通过unicode的解决

  可以根据每个字符在unicode中编码的值通过unicode编码对其进行转换,具体的代码如下所示:

python 复制代码
import re 
sub_str = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])","",string)
print(sub_str)
123我123456abcdefgABCVDFF

  上述代码的核心就是通过对中文、数字、字母的unicode编码范围进行判断,如果超过范围内的字符则进行过滤处理。

🎯 3. 注意事项

  • 确保使用原始字符串(在字符串前加r)来定义正则表达式,以避免转义字符的问题。
  • 正则表达式的性能可能受到模式复杂度和文本长度的影响。
  • 在使用正则表达式之前,了解其语法和规则是非常重要的。

🎯 4. 总结

  Python的re模块为处理文本提供了强大的正则表达式功能。通过本博客的代码示例,我们学习了如何使用正则表达式进行搜索、查找、替换和分割操作。希望这篇博客能够帮助你更好地利用正则表达式来清洗和处理文本数据。

相关推荐
dNGUZ7UGj几秒前
10分钟完成第一个Python小游戏
python·django
没有梦想的咸鱼185-1037-16639 分钟前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer
qq_4480111621 分钟前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
霸道流氓气质37 分钟前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
孫治AllenSun2 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
Draina2 小时前
CBC填充预言攻击-CBC Padding Oracle Crypto Attack
python·安全·web安全·网络安全·密码学·安全性测试
c238563 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
Angel Q.3 小时前
特征提取 | DINO 到 DINOv3
图像处理·python
不如语冰3 小时前
AI大模型入门-pytorch-张量2 tensor创建
python
moonsims3 小时前
星闪在跨域无人化系统作用
开发语言·php