0

我有一个日志文件,我试图从中删除除数字(0-9)之外的所有不需要的文本。我可以使用 string.replace('','') 函数来删除所有内容并获得所需的内容,但是,在几个地方,我仍然有一个空格,后面是一些文本,位于元素末尾细绳。

例如。我能够12345

ansd: 12345,43556

但是,我仍然有一些元素在表单中

 12345 hdjhdjf dfdfd "dfd".

谁能帮我理解如何使用替换来解决这个特定问题?

4

1 回答 1

2
>>> import re
>>> re.compile('[^\d]*(\d+)[^\d]*').findall('12345 hdjhdjf dfdfd "dfd".')
['12345']
>>> re.compile('[^\d]*(\d+)[^\d]*').findall('ansd: 12345,43556')
['12345'] 

编辑 - 这个怎么样?

>>> import re
>>> re.compile('([^\d]*([0-9]+)[^\d]*)+').findall('12345 hdjhdjf dfdfd "dfd" 12333.')
[('12333', '12333')]
>>> 

或用空格子所有非数字

>>> import re
>>> re.sub('[^\d]', ' ', '12345 hdjhdjf dfdfd "dfd" 12333.')
'12345                     12333 '

或用空格子所有数字

>>> import re
>>> re.sub('[0-9]', ' ', '12345 hdjhdjf dfdfd "dfd" 12333.')
'      hdjhdjf dfdfd "dfd"      .'
>>> 
于 2013-05-30T18:22:52.160 回答