从格式化字符串中提取数据(python)

时间:2014-10-12 17:50:36

标签: python string split text-extraction

我有一个这样的字符串:

(63, 166) - (576, 366)

我需要提取值,以便我有:

x1 = 63
y1 = 166
x2 = 576
y2 = 366

我可以轻松地使用split()函数并将结果保存在临时数组中,然后进一步拆分它们等等,但这很难看,我想知道是否有一个光滑的方式做到了吗?我正在使用python。

1 个答案:

答案 0 :(得分:2)

如果您可以保证没有负数,那么:

from ast import literal_eval

s = '(63, 166) - (576, 366)'
(x1, y1), (x2, y2) = literal_eval(s.replace('-', ','))

否则,您可以拆分-并执行类似的操作,例如:

(x1, y1), (x2, y2) = map(literal_eval, s.split(' - '))