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

相关推荐
老胖闲聊几秒前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1184 分钟前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
曹勖之34 分钟前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
豆沙沙包?1 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
军训猫猫头1 小时前
96.如何使用C#实现串口发送? C#例子
开发语言·c#
lyaihao1 小时前
使用python实现奔跑的线条效果
python·绘图
liuyang-neu2 小时前
java内存模型JMM
java·开发语言
ai大师2 小时前
(附代码及图示)Multi-Query 多查询策略详解
python·langchain·中转api·apikey·中转apikey·免费apikey·claude4
小小爬虾2 小时前
关于datetime获取时间的问题
python
我很好我还能学3 小时前
【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
开发语言·c++