Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 字符串中的正则表达式(拆分)_Python_Regex_Split - Fatal编程技术网

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']