Python|字符串去除与保留(数字、中文、英文、标点符号、空格)
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以外的所有字符
字符串删除和保留还有很多方法,后面有时间再补充啦~
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
