【发布时间】:2017-08-22 09:15:09
【问题描述】:
在python中给定一个字符串,格式为:
(a*p+b)/p**2
始终遵循这种格式,例如(3.02*p+4.12)/p**2我想提取a和b,在示例中为3.02和4.12
【问题讨论】:
标签: python regex python-2.7 python-3.x
在python中给定一个字符串,格式为:
(a*p+b)/p**2
始终遵循这种格式,例如(3.02*p+4.12)/p**2我想提取a和b,在示例中为3.02和4.12
【问题讨论】:
标签: python regex python-2.7 python-3.x
您可以使用str.split 和str.strip:
>>> s = '(3.02+4.12*p)/p**2'
>>> s.strip('(').split('*')[0].split('+')
['3.02', '4.12']
更新:
如果模式过于复杂,您可以使用正则表达式:
>>> s = '(3.02*p+4.12)/p**2'
>>> re.findall(r'(\d+\.\d+)\*p\+(\d+.\d+)', s)[0]
('3.02', '4.12')
【讨论】: