我有一个像这样的字符串'00004079_20150427_5_169_192_114.npz',我想把它拆分成这个['00004079_20150427_5', '169_192_114.npz']。
我尝试了 Python 字符串 split() 方法:
a = '00004079_20150427_5_169_192_114.nii.npz'
a.split("_", 3)
但它返回了这个:
['00004079', '20150427', '5', '169_192_114.nii.npz']
如何根据第三次 “_” 出现将它分成两部分?
我也试过这个:
reg = ".*\_.*\_.\_"
re.split(reg, a)
但它返回:
['', '169_192_114.nii.npz']
请您参考如下方法:
您可以根据分隔符 _ 最多拆分字符串 3 次,然后将除最后一个值之外的所有内容合并回去
>>> *start, end = s.split('_', 3)
>>> start = '_'.join(start)
>>>
>>> start
'00004079_20150427_5'
>>> end
'169_192_114.npz'
对于python2,你可以按照这个来代替
>>> lst = s.split('_', 3)
>>> end = lst.pop()
>>> start = '_'.join(lst)
>>>
>>> start
'00004079_20150427_5'
>>> end
'169_192_114.npz'
