目录

1.乱码符号种类较少,用replace()

2.乱码字符种类较多,用re.sub()

3.提取字符串中的中文字符

4.提取字符串中的中文字符和数字

5.提取其他


数据清洗的时候一大烦恼就是数据中总有各种乱码字符,比如!@#¥%……&——+*(){}:“》《?|【】‘;/。,、-=

去掉这些很简单:

1.乱码符号种类较少,用replace()

如果只是很少类型的乱码符号,可以使用replace来替换掉,由于我们只是针对字符串中个别字符进行替换,因此使用str.replace("#","")即可;

#只有一类乱码字符串
df['name'] = df['name'].str.replace("#","")#连续多个字符一起替换
df['name'] = df['name'].str.replace("#","").str.replace("&","").str.replace("*","")

2.乱码字符种类较多,用re.sub()

import re
string = "北京大学beijing985大学@#¥……&{}*@$%)..+_)(    "
string_code = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])","",string)
print(string_code )#输出:北京大学beijing985大学

这种方法的清洗,我们使用的其实是正则表达式,上述方法是提取了字符串中的中英文和数字,当然你也可以直提取中文,不同字符对应的 unicode 范围如下所示:

函数 说明
sub(pattern,repl,string) 把字符串中的所有匹配表达式pattern中的地方替换成repl
[^**] 表示不匹配此字符集中的任何一个字符
\u4e00-\u9fa5 汉字的unicode范围
\u0030-\u0039 数字的unicode范围
\u0041-\u005a 大写字母unicode范围
\u0061-\u007a 小写字母unicode范围

3.提取字符串中的中文字符

import re
string = "北京大学beijing985大学@#¥……&{}*@$%)..+_)(    "#提取中文字符
string_code = re.sub(u"([^\u4e00-\u9fa5])","",string)
print(string_code )#输出:北京大学大学

4.提取字符串中的中文字符和数字

import re
string = "北京大学beijing985大学@#¥……&{}*@$%)..+_)(    "#提取中文字符和数字
string_code = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039])","",string)
print(string_code )#输出:北京大学985大学

5.提取其他

至于提取其他字符,可以根据正则表达式的 unicode 范围,并参照上述三个例子敲代码。

正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码相关推荐

  1. Java通过正则剔除乱码_正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码...

    目录 1.乱码符号种类较少,用replace() 2.乱码字符种类较多,用re.sub() 3.提取字符串中的中文字符 4.提取字符串中的中文字符和数字 5.提取其他 数据清洗的时候一大烦恼就是数据中 ...

  2. 批量修改图片名称(去掉原名字中的中文字符和空格)

    python批量修改图片名称,去掉原名字中的中文字符和空格 如名字:KJG-A电泵冷油器泄漏4-20190219161731 (1).jpg-->KJG-A4-20190219161731(1) ...

  3. java a标签正则_正则表达式:java中婚配HTML中a标签中的中文字符

    正则表达式:java中匹配HTML中a标签中的中文字符 今天群里一位朋友问到了一个正则表达式的问题,有如下内容: 特432 453543 a1特123你好123吗? 特2 标签中的文字现在要匹配出内容 ...

  4. oracle字符串只截取中文,Oracle提取字符串中“汉字”串的解决办法

    我们在实际工作中常常要使用去特殊字符的功能,特别是插入到数据库中的数据,我们为了保证数据的质量,往往需要对数据进行清洗, 我们在实际工作中常常要使用去特殊字符的功能,特别是插入到数据库中的数据,我们为 ...

  5. 发送附件时,防止文件名中的中文字符变成乱码

    在.net2005中,利用System.Net.Mail;下的MailMessage类发送邮件,为了防止附件文件名中的中文字符变成乱码,需要加attachment.NameEncoding = Enc ...

  6. python django mysql写入中文乱码_解决django 向mysql中写入中文字符出错的问题

    之前使用django+mysql建立的一个站点,发现向数据库中写入中文字符时总会报错,尝试了修改settings文件和更改数据表的字符集后仍不起作用.最后发现,在更改mysql的字符集后,需要重建数据 ...

  7. 网页编码与数据传递中的中文字符编码

    最近工作中遇到中文编码,中文参数传递,AJAX返回值包含中文乱码的问题,为此奋斗了一宿,有点心得,有点体会,总结如下,希望对迷惑于此中者有解惑之功效! 在网上一阵狠搜,编码函数的确是有,包括Javas ...

  8. 解决Python3中的中文字符编码的问题-亲测有效

    解决Python3中的中文字符编码的问题 一.原理篇: Unicode是一32位编码格式,不适合用来传输和存储,所以必须转换成utf-8,gbk等等.这篇文章主要介绍了Python3中的解决中文字符编 ...

  9. 解决在全文搜索中搜索中文字符

    解决在全文搜索中搜索中文字符出错补丁:点击下载 http://www.artbbs.net/Demo/Dvbbs_Help/Help_Img/SQLx86.rar 解决中文字符出错问题: 方法一: 把 ...

最新文章

  1. 阿姨帮万勇:O2O产品的颠覆与布局,阿姨帮未来发展战略独家披露
  2. 并发请求数_nginx如何限制并发连接和请求数?
  3. 【SAS NOTES】sas对中文的支持
  4. ARCGIS RUNTIME FOR IOS总结(三)
  5. SpringBoot项目实现配置实时刷新功能
  6. FastReport问题整理
  7. 华为harmonyos官方微博账号,华为 EMUI 官方微信和微博更名为 HarmonyOS
  8. MySQL软件下载安装配置——详细教程
  9. SXF-2021软测实习生笔试
  10. android 视频缓存溢出导致视频黑屏,MediaMuxer+MediaCodec生成MP4视频黑屏
  11. html中选择器的优先级别是,CSS优先级之计算选择器的特殊性( Selector’s specificity )...
  12. 有关键词和频率,怎么求共词矩阵?有报酬
  13. 基于android的资讯阅读APP
  14. 魅族16php7.3系统,魅族16th官方稳定版固件rom系统刷机包:Flyme 7.3.0.0A
  15. hubot+slack(slack部分)
  16. 网站结构优化要做好哪些
  17. 什么是进程,进程的特征
  18. 基于开源应用快速构建HTAP系统(2)-阿里云开发者社区
  19. 使用ICAP原语实现SPI-Multiboot加载
  20. 网站后台拿webshell

热门文章

  1. Leetcode分类
  2. (原)PyTorch中使用指定的GPU
  3. Linux开机运行应用程序
  4. OpenGL于MFC使用汇总(三)——离屏渲染
  5. 用户 'IIS APPPOOL\***' 登录失败(转载)
  6. HDU 1213 How Many Tables【并查集】
  7. 详解AST抽象语法树
  8. Epoll例子的使用
  9. 现在的年轻人,正在努力的改变着一些东西
  10. 看看大神是如何计算32位数中‘1’的个数