为了账号安全,请及时绑定邮箱和手机立即绑定

从字符串中删除所有特殊字符,标点符号和空格

从字符串中删除所有特殊字符,标点符号和空格

蓝山帝景 2019-09-19 10:47:24
我需要从字符串中删除所有特殊字符,标点符号和空格,以便我只有字母和数字。
查看完整描述

3 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

这是一个正则表达式,用于匹配不是字母或数字的字符串:


[^A-Za-z0-9]+

以下是执行正则表达式替换的Python命令:


re.sub('[^A-Za-z0-9]+', '', mystring)


查看完整回答
反对 回复 2019-09-19
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

在看到这个之后,我有兴趣通过查找在最短的时间内执行哪些来扩展所提供的答案,所以我通过timeit对两个示例字符串检查了一些建议的答案:


string1 = 'Special $#! characters   spaces 888323'

string2 = 'how much for the maple syrup? $20.99? That s ricidulous!!!'

例1

'.join(e for e in string if e.isalnum())


string1 - 结果:10.7061979771

string2 - 结果:7.78372597694

例2

import re

re.sub('[^A-Za-z0-9]+', '', string)


string1 - 结果:7.10785102844

string2 - 结果:4.12814903259

例3

import re

re.sub('\W+','', string)


string1 - 结果:3.11899876595

string2 - 结果:2.78014397621

以上结果是平均值的最低返回结果的乘积: repeat(3, 2000000)


实施例3可以比实施例1快3倍。


查看完整回答
反对 回复 2019-09-19
  • 3 回答
  • 0 关注
  • 1644 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信