3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
这是一个正则表达式,用于匹配不是字母或数字的字符串:
[^A-Za-z0-9]+
以下是执行正则表达式替换的Python命令:
re.sub('[^A-Za-z0-9]+', '', mystring)
慕桂英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倍。
添加回答
举报
0/150
提交
取消