Python|字符串去除与保留(数字、中文、英文、标点符号、空格)
创始人
2025-01-09 13:34:30
0

Python|字符串去除与保留部分内容(数字、中文、英文、标点、空格等)
去掉数字
去掉中文
去掉英文
去掉标点
  同时去掉中英文标点
  去掉中文标点
  去掉英文标点
去掉空格
保留内容
整理使用Python去除字符串中的数字、中文、英文等,主要方法是使用基于正则化的re库。其他方法后面再补充进来~

去掉数字

\d \s \w分别表示数字,空格,数字和字母,\大写字母 则表示它们的补集,如:\S表示非数字

import re case = "你好,world!123,," out = re.sub('[\d]', '', case)  # [0-9] print(out) 
你好,world!,, 

re.sub()方法用于替换字符串中的匹配项
[\d]是一个正则表达式,\d表示数字,也可直接用0-9,若去掉空格则用\s
''是要替换的内容,是空字符串,相当于把匹配到的内容删除掉

去掉中文

import re case = '你好,world!123,,' out = re.sub('[\u4e00-\u9fa5]','',case) print(out) 
,world!123,, 

\u4e00-\u9fa5是汉字的范围,这个是用Unicode表示的

去掉英文

import re case = '你好,World!123,,' out = re.sub('[a-zA-Z]','',case) print(out) 

a-z代表小写字母,A-Z代表大写字母
如果想要去掉小写字母和数字可用 out = re.sub('[a-zA-Z]','',case)
想要去掉啥,就在中括号里连着写对应的字符就可以了

去掉标点

同时去掉中英文标点

import re case = '你好,World!  123,,[]【】-' out = re.sub(r'[^\w\s]','',case) print(out) 
你好World  123 

字符”r“的意思是表示忽略后面的转义字符,这样简化了后面正则表达式里每遇到一个转义字符还得挨个转义的麻烦

去掉中文标点

常见的中文标点有

!?。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘'‛“”„‟…‧﹏. 

调用zhon包的zhon.hanzi.punctuation函数即可得到这些中文标点

import re from zhon.hanzi import punctuation case = '你好,World!  。123,,[]【】-' out = re.sub('[{}]'.format(punctuation),'',case) print(out) 
你好World  123,,[]- 

去掉英文标点

string.punctuation包含所有英文标点符号

import string import re case = '你好,World!  。123,,[]【】-' out = re.sub('[{}]'.format(string.punctuation),"",case) print(out) 
你好,World!  。123【】 

去掉空格

import re case = '你好,World!  。123,,[]【】-' out = re.sub('[\s]',"",case) print(out) 
你好,World!。123,,[]【】- 

保留内容

可以去掉补集,来实现保留,如果只保留数字,那么就去掉除数字以外的其他所有字符,可以合理利用起来~

import re case = '你好,World!  。123,,[]【】-' out = re.sub('[^0-9]',"",case) print(out) 
123 

符号“^”表示补集,[^0-9]表示匹配除了0-9以外的所有字符

字符串删除和保留还有很多方法,后面有时间再补充啦~

相关内容

热门资讯

【数据结构】手写堆 HEAP heap【堆】掌握手写上浮、下沉、建堆函数对一组数进行堆排序直接使用接口函数heapq什么是堆&#x...
C语言基础and数据结构 C语言程序和程序设计概述 程序:可以连续执行的一条条指令的集合开发过程:C源程序(.c文件) -->...
docker 常用命令 dockerimages 获取本地所有镜像docker pull xxx 拉取镜像docker rm...
视频使用操作说明书-T8000... 视频使用操作说明书-T80005系列视频编码器如何对接海康NVR硬盘录像机,包括T80...
【Go系列】 Go的错误处理 承上启下        上一篇文章中介绍了struct和interface,在Go语言...
数据结构(4.1)——树的性质 结点数=总度数+1结点的度——结点有几个孩子(分支)度为m的树、m叉树的区别 度为m...
Mac Dock栏多屏幕漂移固... 记录一下我目前的版本是 14.5多个屏幕,Dock栏切换的方式: 把鼠标...
初识Java 乐观学习,乐观生活,才能不断前进啊!!&#x...
Java面试题--JVM大厂篇... 目录引言:正文:一、Serial GC概述二、Serial GC的优点三、Serial...
可灵重大升级!新增Web端上线... 快手视频生成大模型“可灵”(Kling),作为全球首个真正...