【发布时间】:2021-08-26 14:47:16
【问题描述】:
我有以下清单:
lst = ['SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9971, 18847, NULL), NULL, NULL)',
'SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9971, 19188, NULL), NULL, NULL)',
'SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9972, 18282, NULL), NULL, NULL)',
'SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9977, 19201, NULL), NULL, NULL)',
'SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(9989, 18635, NULL), NULL, NULL)']
我只想提取包含 MDSYS.SDO_POINT_TYPE 之后括号中数字的字符串。我该怎么做?
到目前为止我尝试了什么?
op=[]
for i in lst:
x = (i[46:56])
y = str('('+x+')')
op.append(y)
但是,数字并不总是在 46-56 位,我该如何优化呢?
期望的输出:
['(9971, 1884)',
'(9971, 1918)',
'(9972, 1828)',
'(9977, 1920)',
'(9989, 1863)']
【问题讨论】:
标签: python string list substring extract