Python 如何从给定字符串中提取数字
我需要从上面显示的字符串中得到13,它给了我一个错误,int(result)的错误不是字符串。因此,我需要从字符串中获取数字并将其转换为整数,我如何才能做到这一点,谢谢。您需要从Python 如何从给定字符串中提取数字,python,regex,python-3.x,Python,Regex,Python 3.x,我需要从上面显示的字符串中得到13,它给了我一个错误,int(result)的错误不是字符串。因此,我需要从字符串中获取数字并将其转换为整数,我如何才能做到这一点,谢谢。您需要从组()中获取匹配的数字。: 一些示例用法: def parse_distance(string): pp = re.compile(r"(\d+)-foot") match = pp.search(string) return int(match.group(1)) if match else N
组()中获取匹配的数字。
:
一些示例用法:
def parse_distance(string):
pp = re.compile(r"(\d+)-foot")
match = pp.search(string)
return int(match.group(1)) if match else None
您需要从
组()中获取匹配的数字。
:
一些示例用法:
def parse_distance(string):
pp = re.compile(r"(\d+)-foot")
match = pp.search(string)
return int(match.group(1)) if match else None
似乎要从给定字符串中提取数字
>>> print(parse_distance("LaMarcus Aldridge misses 13-foot two point shot"))
13
>>> print(parse_distance("LaMarcus Aldridge misses 1300-foot two point shot"))
1300
>>> print(parse_distance("No digits"))
None
或
似乎要从给定字符串中提取数字
>>> print(parse_distance("LaMarcus Aldridge misses 13-foot two point shot"))
13
>>> print(parse_distance("LaMarcus Aldridge misses 1300-foot two point shot"))
1300
>>> print(parse_distance("No digits"))
None
或
您可以使用
group()
或group(0)
来匹配整个文本,即使模式中没有捕获组。但是我需要重新编译模式((\d+)-foot),因为我需要距离?任何想法都可以使用group()
或group(0)
来匹配整个文本,即使模式中没有捕获组。但是我需要重新编译模式((\d+)-foot),因为我需要距离?有什么想法吗
In [19]: result = [int(r) for r in re.findall('\d+', sentence)]
In [20]: result
Out[20]: [13]