我有一个日志文件,我试图从中删除除数字(0-9)之外的所有不需要的文本。我可以使用 string.replace('','') 函数来删除所有内容并获得所需的内容,但是,在几个地方,我仍然有一个空格,后面是一些文本,位于元素末尾细绳。
例如。我能够12345
从
ansd: 12345,43556
但是,我仍然有一些元素在表单中
12345 hdjhdjf dfdfd "dfd".
谁能帮我理解如何使用替换来解决这个特定问题?
>>> 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" .'
>>>