python删除字符串中的数字_从Python的字符串中剥离除字母数字字符外的所有内容...

小编典典

使用Python从字符串中剥离所有非字母数字字符的最佳方法是什么?

这个问题的PHP变体中提供的解决方案可能会进行一些小的调整,但对我来说似乎并不是很“ pythonic”。

作为记录,我不仅要删除句点和逗号(以及其他标点符号),还希望删除引号,方括号等。我只是出于好奇而对某些功能进行了计时。在这些测试中,我从字符串string.printable(内置string模块的一部分)中删除了非字母数字字符。发现使用编译'[\W_]+'和pattern.sub('', str)最快。

$ python -m timeit -s \

"import string" \

"''.join(ch for ch in string.printable if ch.isalnum())"

10000 loops, best of 3: 57.6 usec per loop

$ python -m timeit -s \

"import string" \

"filter(str.isalnum, string.printable)"

10000 loops, best of 3: 37.9 usec per loop

$ python -m timeit -s \

"import re, string" \

"re.sub('[\W_]', '', string.printable)"

10000 loops, best of 3: 27.5 usec per loop

$ python -m timeit -s \

"import re, string" \

"re.sub('[\W_]+', '', string.printable)"

100000 loops, best of 3: 15 usec per loop

$ python -m timeit -s \

"import re, string; pattern = re.compile('[\W_]+')" \

"pattern.sub('', string.printable)"

100000 loops, best of 3: 11.2 usec per loop

2020-02-18

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值