Python 如何选择某个位置将字符串拆分为_&引用;?
我有一个像这样的字符串Python 如何选择某个位置将字符串拆分为_&引用;?,python,string,split,Python,String,Split,我有一个像这样的字符串'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、 拆分(“u25;”,3) 但它回信说: ['00004079', '20150427', '5', '169_192_114.nii.npz'] 如何通过第
'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、 拆分(“u25;”,3)
但它回信说:
['00004079', '20150427', '5', '169_192_114.nii.npz']
如何通过第三个“\uquot
外观将其分为两部分
我也试过:
reg=“.\\.\.\.\\”
关于拆分(注册,a)
但它的回报是:
['', '169_192_114.nii.npz']
可能的方法之一(如果使用正则表达式): 输出:
('00004079_20150427_5', '169_192_114.nii.npz')
可能的方法之一(如果使用正则表达式): 输出:
('00004079_20150427_5', '169_192_114.nii.npz')
您可以根据分隔符
\uuuu
将字符串拆分最多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'
您可以根据分隔符
\uuuu
将字符串拆分最多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'
谢谢还有一个问题,为什么要在
start
前面添加*
,它是指针还是类似的东西?这称为列表解包<代码>*a,b=[1,2,3]将最后一个元素3
分配给b
,列表的其余[1,2]
分配给a
。查看更多详细信息谢谢!还有一个问题,为什么要在start
前面添加*
,它是指针还是类似的东西?这称为列表解包<代码>*a,b=[1,2,3]将最后一个元素3
分配给b
,列表的其余[1,2]
分配给a
。查看更多详细信息