从字符串中提取数字的最简单方法是使用正则表达式和
findall。
>>> import re>>> s = '300 gm'>>> re.findall('d+', s)['300']>>> s = '300 gm 200 kgm some more stuff a number: 439843'>>> re.findall('d+', s)['300', '200', '439843']可能您需要更复杂的东西,但这是一个很好的第一步。
请注意,您仍然必须调用
int结果以获取正确的数字类型(而不是另一个字符串):
>>> map(int, re.findall('d+', s))[300, 200, 439843]


