我有一个日志文件,我试图删除除数字(0-9)之外的所有不需要的文本。我能够使用string.replace('','')函数来删除所有内容并获得所需的内容,但是,在一些地方,我仍然有一个空白区域,后面跟着一些文字,串。使用字符串替换空格后跟带空格的文本替换
例如。我能够从
ansd: 12345,43556
然而
得到12345
,我仍然是在形式
12345 hdjhdjf dfdfd "dfd".
谁能帮助我了解如何使用替代这一特定问题的一些元素?
我有一个日志文件,我试图删除除数字(0-9)之外的所有不需要的文本。我能够使用string.replace('','')函数来删除所有内容并获得所需的内容,但是,在一些地方,我仍然有一个空白区域,后面跟着一些文字,串。使用字符串替换空格后跟带空格的文本替换
例如。我能够从
ansd: 12345,43556
然而
得到12345
,我仍然是在形式
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" .'
>>>
它始终不是相同的字符串,它们是字符串中的不同元素。我需要一个更通用的形式,我可以用它来摆脱下面提到的格式。 (digits)(whitespaces)(text a-z)(。,:“”) – user2436752
再次看。带字符串的部分应该是一个变量,正则表达式是\ d – beiller
的部分我很抱歉,我认为,我说我的问题的方式不合适。我有一个由大量ID组成的字符串。有几个ID不是我需要它们的格式。 赞,12345 dfsdfsdf dsgfsg“asfda”。 34543223 diosoidfh jdshfoshdo_sdjfk。 76857 jkfhdjhdfj 我需要从字符串中的整个元素中分离出数字,并用空格替换它。 – user2436752
我编辑了自己的问题,以改善格式...请检查以确保我没有意外地改变了您想要提问的内容。 – bdesham