道一站 道一站
首页
  • 历史文明
  • 自我管理
  • 经济金融
  • 未来科技
  • 李笑来
  • 股票
  • 期货
  • 期权
  • 外盘
  • 量化
  • 区块
  • 认知
  • 数理
  • 收藏
  • 前端

    • JavaScript
    • TypeScript
  • 页面

    • HTML
    • CSS
  • 编程

    • C++
    • Python
    • Shell
    • 小程序开发
  • 笔记

    • 《Git》
    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
  • 技术文档
  • Linux
  • Docker
  • GitHub
  • 博客搭建
  • 效用工具
  • 周易基础
  • 奇门遁甲
  • 收藏资源
  • 学习方法
  • 实用技巧
  • 友情链接
  • 分类
  • 标签
  • 归档
关于

daotoyi

静水流深
首页
  • 历史文明
  • 自我管理
  • 经济金融
  • 未来科技
  • 李笑来
  • 股票
  • 期货
  • 期权
  • 外盘
  • 量化
  • 区块
  • 认知
  • 数理
  • 收藏
  • 前端

    • JavaScript
    • TypeScript
  • 页面

    • HTML
    • CSS
  • 编程

    • C++
    • Python
    • Shell
    • 小程序开发
  • 笔记

    • 《Git》
    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
  • 技术文档
  • Linux
  • Docker
  • GitHub
  • 博客搭建
  • 效用工具
  • 周易基础
  • 奇门遁甲
  • 收藏资源
  • 学习方法
  • 实用技巧
  • 友情链接
  • 分类
  • 标签
  • 归档
关于
  • C++

  • JavaScript

  • TypeScript

  • CSS

  • HTML

  • Python

    • Python 速查表
    • python 命名规则
    • Python 相关文件常见的后缀名
    • Python 中最常用的 5 种线程
    • Python 数据规范化(归一化)及Z-score标准化
    • Python 中的绝对导入和相对导入
    • Python 中有 3 个不可思议的返回功能
    • Python 技巧分享
    • PyQt5学习资料
    • PyQt5
    • PyQt5 QDockWidget
    • Python @1装饰器入门教程!
    • Python @函数装饰器及用法
    • Python f-string 格式化字符串的 7 个层级
    • Python 中最常用的 5 种线程
    • Python 中有 3 个不可思议的返回功能
    • Python string去除(中文、英文、数字、标点符号)
      • 去除英文标点符号
      • 去除中文标点符号
      • 去除空格
  • Shell

  • Notes

  • 编程
  • Python
daotoyi
2023-10-07
目录

Python string去除(中文、英文、数字、标点符号)

介绍下去除各个字母、数字、符号的方法,主要就是re的运用,去除用re.sub(),而反过来的提取用re.findall()即可

标点符号包括中英文两种,要分开处理

# 去除英文标点符号

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

import string
string.punctuation
1
2
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
1
text = '''Don't worry, be happy!''' 

punctuation_string = string.punctuation
for i in punctuation_string:
    text = text.replace(i, '')
print(text)
1
2
3
4
5
6
Dont worry be happy
1
import re
re.sub('[{}]'.format(punctuation_string),"",text)
1
2
'Dont worry be happy'
1

# 去除中文标点符号

调用zhon包的zhon.hanzi.punctuation函数即可得到中文的标点符号集合。

from zhon.hanzi import punctuation
punctuation
1
2
'"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、\u3000、〃〈〉《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏﹑﹔·!?。。'
1
text = '生活就像【】,如果##'

punctuation_str = punctuation
for i in punctuation_str:
    text = text.replace(i, '')

text
1
2
3
4
5
6
7
'生活就像如果'
1
import re
re.sub('[{}]'.format(punctuation),"",text)
1
2
'生活就像如果'
1
import re

text = '生活就像【】,如果##'

temp = re.sub('[\u4e00-\u9fa5]','',text)
temp
1
2
3
4
5
6
'【】,##'
1
from zhon.hanzi import characters
import re 

text = '生活就像【】,如果##'

temp = re.sub('[{}]'.format(characters),'',text)
temp
1
2
3
4
5
6
7
'【】,##'
1
import re
 
text="aksjn ekljfk # ! len223"
 
temp = re.sub('[a-zA-Z]','',text)
temp
1
2
3
4
5
6
'  # ! 223'
1

其实对于\d \s \w这些,小写是数字\空格\数字字母,大写即是非数字\非空格\非数字字母,可以合理运用~

import re
 
text="哈aksjn ekljfk # ! len223"
 
temp = re.sub('[\d]','',text) 
temp
1
2
3
4
5
6
'哈aksjn ekljfk # ! len'
1

# 去除空格

有很多方法,比如:
Python 字符串去除空格的方法 (opens new window)

import re
 
text="aksjn ekljfk # ! len223"
 
temp = re.sub('[\s]','',text) 
temp
1
2
3
4
5
6
'aksjn ekljfk # ! len223'
1
上次更新: 2023/10/10, 14:48:21
Python 中有 3 个不可思议的返回功能
libc,glibc和libc关系

← Python 中有 3 个不可思议的返回功能 libc,glibc和libc关系→

最近更新
01
置身事内
10-10
02
基础知识|八卦五行天干地支
10-08
03
基础知识|推算年月日时的干支
10-08
更多文章>
Theme by Vdoing | Copyright © 2021-2023 Daotoyi | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式