此问题在此处已有答案:
python: extract float from a python list of string( AUD 31.99)(4个答案)
12小时前关门了。
此帖子在11小时前编辑并提交审查。
请考虑以下示例:
import re
string = "1-3-a"
a, b, c = re.match("(\d+)-(\d+)-(\w+)", string).groups()
print(a + b)
这将打印:'13'
。然而,我想使用这些值作为数字(整数或浮点数),同时保持变量c
作为字符串。当然,我可以做a = int(a)
等,但我认为必须有一个更方便的方式来做到这一点(特别是当你匹配更多的变量)。
不幸的是,我找不到任何关于这一点,最初我认为正则表达式将处理这一自动,因为我说,它必须是一个数字。
编辑:我认为这与假设的重复问题不同,因为我试图将字符串的多个部分匹配到多个变量中。
1条答案
按热度按时间8yoxcaq71#
Regex本身不会这样做,这根本不是它的工作。实现它的一种方法(如果你想要更多的“单行”解决方案)是使用
map
函数将int()
函数应用于groups元组中的每个元素。