Python 字符串中的正则表达式(拆分)
您好,我有一个字符串,例如:Python 字符串中的正则表达式(拆分),python,regex,split,Python,Regex,Split,您好,我有一个字符串,例如: liste_to_split=['NW_011625257.1_0','scaffold1_3','scaffold3'] 我想把它们按号码分开 我试过: for i in liste_to_split: i.split(r'(?<=[0-9])_') 而不是 ['NW_011625257.1'] ['0'] ['scaffold1'] ['3'] ['scaffold3'] 有人知道问题出在哪里吗?您可以使用: >>> import
liste_to_split=['NW_011625257.1_0','scaffold1_3','scaffold3']
我想把它们按号码分开
我试过:
for i in liste_to_split:
i.split(r'(?<=[0-9])_')
而不是
['NW_011625257.1'] ['0']
['scaffold1'] ['3']
['scaffold3']
有人知道问题出在哪里吗?您可以使用:
>>> import re
>>> liste_to_split=['NW_011625257.1_0','scaffold1_3','scaffold3']
>>>
>>> for i in liste_to_split:
... re.split(r'(?<=[0-9])_', i)
...
['NW_011625257.1', '0']
['scaffold1', '3']
['scaffold3']
然后您可以使用:
>>> print (df['column'].str.split(r'(?<=[0-9])_', expand=True))
0 1
0 NW_011625257.1 0
1 scaffold1 3
2 scaffold3 None
输出
['NW', '011625257.1', '0']
['scaffold1', '3']
['scaffold3']
您正在使用str.split-使用re.splitA复制和,如果它在数据帧上呢?我还能用re吗?示例df['column'].re.spliti.splitr'?因为您还没有显示数据帧,所以答案基于问题中提供的代码。但是,是的,数据帧也有一个拆分,但形式不同。请更新您的问题,以便我能进一步提供帮助。您可以使用:df['column'].str.splitr'?请重新关闭该问题,它仍然是一个重复的问题,正如我现在所写的,仍然是一个重复的问题。我很少重新打开重复的问题,但这是其中之一,因为标题和问题正文不匹配。我已经要求OP编辑这个问题。编辑完问题后,我将再次访问此链接以检查dupe。
>>> print (df['column'].str.split(r'(?<=[0-9])_', expand=True))
0 1
0 NW_011625257.1 0
1 scaffold1 3
2 scaffold3 None
l=['NW_011625257.1_0','scaffold1_3','scaffold3']
for i in l:
f = i.split('_')
print(f)
['NW', '011625257.1', '0']
['scaffold1', '3']
['scaffold3']