如何从python中的字符串中删除不需要的字符?

时间:2011-04-26 15:22:57

标签: python string text

我有以下字符串:

text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj'

我想回来:

2007 2008

用Python做任何事吗?

4 个答案:

答案 0 :(得分:7)

这是正则表达式的经典案例。使用re python库:

re.findall('\d{4}', "yourStringHere")

这将返回字符串中找到的所有四位数字项的列表。只需根据需要调整你的正则表达式。

答案 1 :(得分:5)

import re
num = re.compile('[\d]*')
numbers = [number for number in num.findall(text) if number]
['2007', '2008']

答案 2 :(得分:3)

>>> import re
>>> text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj'
>>> re.sub("[^0-9]"," ",text)
'          2007                   2008         '

我会留给你格式化输出。

答案 3 :(得分:1)

str.translate

text.translate(None, ''.join(chr(n) for n in range(0xFF) if chr(n) not in ' 01234567890')

您可以构建一个更好的字符表来跳过并使其更漂亮,但这是一般的想法。