我使用python的re模块来识别句子中的整数。它也会产生空字符串。你知道如何移除这些空字符串吗?
In [15]: myre="[0-9]*"
In [16]: re.findall(myre,"23")
Out[16]: ['23', '']
In [17]: re.findall(myre,"23 is a good number.")
Out[17]:
['23',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'']
您应该使用[0-9]+
而不是[0-9]*
;后者匹配0或更多(这意味着数字是可选的);然而,+
只匹配一个或多个。
原因是您的正则表达式匹配0个或多个数字。将其更改为[0-9]+
或d+
并尝试。