在python中给出一个字符串:
(a*p+b)/p**2
这始终遵循此格式,例如(3.02*p+4.12)/p**2
我想提取a和b,在示例中为3.02
和4.12
答案 0 :(得分:5)
您可以使用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')