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

目录

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 范围,并参照上述三个例子敲代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《JavaScript高级程序设计》阅读笔记(一):ECMAScript基础

2.1 语法 区分大小写、变量弱类型、行尾分号可有可无、注释为双斜线、括号表明代码块 2.2 变量 变量用var声明,变量的命名规则:第一个字符必须是字母、下划线或美元符号;余下的字符可以是下划线、美元符号或任何字母或数字字符。 变量命名规范…

v8引擎和v12引擎_为什么V8和V12发动机至今还存在,而V10发动机却早早被淘汰了?...

为什么V8和V12发动机至今还存在,而V10发动机却早早被淘汰了?估计你看到标题的时候心中已经有了相关的答案,但是如果我说你所想的和真实的原因并不一样呢!随着国家对环保越来越重视,大排量发动机逐渐也成为了汽车工业中…

LeetCode 第 29 场双周赛(890/2259,前39.4%)

文章目录1. 比赛结果2. 题目1. LeetCode 5432. 去掉最低工资和最高工资后的工资平均值 easy2. LeetCode 5433. n 的第 k 个因子 medium3. LeetCode 5434. 删掉一个元素以后全为 1 的最长子数组 medium4. LeetCode 5435. 并行课程 II hard1. 比赛结果 做出来了3道题。第三题卡了…

Hive关于数据库的增删改查

创建库 if not exists:防止db_hive已经存在 CREATE DATABASE if not exists db_hive;CREATE DATABASE if not exists db_hive COMMENT create my database named db_hive;#带注释CREATE DATABASE if not exists db_hive WITH dbproperties(aaaa,bbbb);#带属性 使…

【dll 返回字符串 】2

【vc <--> vc】返回void* 类型void* __stdcall torrent_hash( const char *TorrentFilePath){char szText[41]{0};if(strcmp(TorrentFilePath,"") 0 || TorrentFilePath NULL)return NULL;string strHashString "abcdefg"; sprintf(szText,&qu…

Hive关于数据表的增删改(内部表、外部表、分区表、分桶表 数据类型、分隔符类型)

建表 基本语句格式 CREATE [external] TABLE if not exists student #默认建立内部表&#xff0c;加上external则是建立外部表(id int COMMENT学号,sname string COMMENT用户名,age int COMMENT年龄)#字段名称&#xff0c;字段类型&#xff0c;字段描述信息 COMMENT 记录学生…

LeetCode 1496. 判断路径是否相交(set)

1. 题目 给你一个字符串 path&#xff0c;其中 path[i] 的值可以是 ‘N’、‘S’、‘E’ 或者 ‘W’&#xff0c;分别表示向北、向南、向东、向西移动一个单位。 机器人从二维平面上的原点 (0, 0) 处开始出发&#xff0c;按 path 所指示的路径行走。 如果路径在任何位置上出…

python数据框循环生成_python - 如何在 Pandas 的for循环迭代中创建多个数据框?

我需要在熊猫中创建一个函数&#xff0c;该函数将单个数据框作为输入&#xff0c;并根据特定条件返回多个数据框作为输出。 (请检查下面的示例以了解情况)。我很难弄清楚如何做。我需要一些专家的编码建议。范例1&#xff1a;输入 100列的数据框输出数据帧1的前10&#xff05;列…

除去数组中的空字符元素array_filter()

除去数组中的空字符元素 <?php$str1_arrayarray(电影618,,http://www.movie618.com,,1654,);$str1_arrayarray_filter($str1_array);print_r($str1_array); ?> 显示结果&#xff1a; Array( [0] > 电影618 [2] > http://www.movie618.com [4] > …

Hive的数据加载与导出

普通表的加载 1.load方式 load data [local] inpath [源文件路径] into table 目标表名; 从HDFS上加载数据&#xff0c;本质上是移动文件所在的路径 load data inpath /user/student.txt into table student; 从本地加载数据&#xff0c;本质上是复制本地的文件到HDFS上 lo…

电压压力蕊片_一文让你知道什么是压力变送器

一般来说&#xff0c;压力变送器主要由测压元件传感器(也称作压力传感器)、测量电路和过程连接件三部分组成。它能将测压元件传感器感受到的气体、液体等物理压力参数转变成标准的电信号(如4~20mADC等)&#xff0c;以供给指示报警仪、记录仪、调节器等二次仪表进行测量、指示和…

LeetCode 1497. 检查数组对是否可以被 k 整除(余数配对)

1. 题目 给你一个整数数组 arr 和一个整数 k &#xff0c;其中数组长度是偶数&#xff0c;值为 n 。 现在需要把数组恰好分成 n / 2 对&#xff0c;以使每对数字的和都能够被 k 整除。 如果存在这样的分法&#xff0c;请返回 True &#xff1b;否则&#xff0c;返回 False 。…

C# 多线程编程 ThreadStart ParameterizedThreadStart

原文地址&#xff1a;http://club.topsage.com/thread-657023-1-1.html 在实例化Thread的实例&#xff0c;需要提供一个委托&#xff0c;在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式&#xff0c;一种是不带参数的启动…

Hive的查找语法

基本语法格式&#xff1a; select [all | DISTINCT ] a.id, a.sname, a.age from student a join student02 b on a.id b.id # 匹配函数 where a.age >18 # 条件语句 group by a.age having a.age >18 # 分组,having:分组后的筛选条件 order by a.age # 全局排序 sort …

动词ing基本用法_动词ing的用法

动词ing的用法2020-09-14 11:41:52文/董月表示现在(指说话人说话时)正在发生的事情&#xff1b;习惯进行&#xff1a;表示长期的或重复性的动作&#xff0c;说话时动作未必正在进行&#xff1b;表示渐变的动词有&#xff1a;get&#xff0c;grow&#xff0c;become&#xff0c;…

LeetCode 1498. 满足条件的子序列数目(排序+二分查找+快速幂)

1. 题目 给你一个整数数组 nums 和一个整数 target 。 请你统计并返回 nums 中能满足其最小元素与最大元素的 和 小于或等于 target 的 非空 子序列的数目。 由于答案可能很大&#xff0c;请将结果对 10^9 7 取余后返回。 示例 1&#xff1a; 输入&#xff1a;nums [3,5,…

Matlab编程学习笔记【待续】

最近想用Matlab进行数据分析&#xff0c;算法性能测试&#xff0c;平时由于用的是C、C&#xff0c;因此很多习惯都一时改不了&#xff0c;这里自己列出来一些Matlab中明显不同的地方。 矩阵单元元素访问方式&#xff1a;A(1,2)---A[1][2]选取矩阵某个行或者列&#xff1a;A(:,1…

Hive的视图

创建视图 create view my_view as select * from student; 注意&#xff1a; hive中的视图仅仅是存储了SQL语句的快捷方式&#xff0c;在查询的时候才执行&#xff1b;hive中的视图只有逻辑视图&#xff0c;没有物化视图&#xff1b;hive中的视图只支持查询&#xff0c;不支…

animation 先执行一次 在持续执行_这一次,彻底弄懂 JavaScript 执行机制

本文来源&#xff1a;ssssyokihttps://juejin.im/post/6844903512845860872不论你是javascript新手还是老鸟&#xff0c;不论是面试求职&#xff0c;还是日常开发工作&#xff0c;我们经常会遇到这样的情况&#xff1a;给定的几行代码&#xff0c;我们需要知道其输出内容和顺序…

[scikit-learn 机器学习] 5. 多元线性回归

文章目录1. 多元线性回归2. 多项式回归3. 正则化4. 线性回归应用举例&#xff08;酒质量预测&#xff09;4.1 数据预览4.2 模型验证5. 梯度下降法本文为 scikit-learn机器学习&#xff08;第2版&#xff09;学习笔记1. 多元线性回归 模型 yαβ1x1β2x2...βnxny \alpha\bet…