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

相关推荐
大数据魔法师1 小时前
DuckDB高阶实战指南!多文件处理、窗口函数、性能调优、工程化落地
python·数据分析
李永奉1 小时前
C语言-嵌入式开发C语言常用预处理指令合集
c语言·开发语言
Patrick在香港2 小时前
Python Docker镜像从1.2GB到89MB:多阶段构建的完整优化实录
java·python·docker·信息可视化·容器·数据分析·ai编程
上海安当技术2 小时前
敏感数据怎么防拖库?信封加密(DEK+KEK 二层密钥)架构设计与 Java 实战
java·开发语言·python
我是唐青枫2 小时前
Java JCommander 实战详解:用注解解析命令行参数
java·开发语言
大鹏说大话2 小时前
C++ 内存布局详解:类、虚函数、虚表底层原理
java·开发语言
键盘会跳舞2 小时前
C++:容器适配器 queue 的源码级拆解
开发语言·c++·queue
QAQo7T3 小时前
Python组蓝桥杯备赛超详细知识点总结笔记_排序算法篇
笔记·python·算法·蓝桥杯·排序算法
醉颜凉3 小时前
蓝桥杯2025年第十六届省赛真题-最大数字 Python题解
python·职场和发展·蓝桥杯
Loge编程生活4 小时前
打卡信奥刷题(3449)用C++实现信奥题 P10429 [蓝桥杯 2024 省 B] 拔河
开发语言·数据结构·c++·算法·青少年编程