如何使用Python提取竖线分隔字符串中第四个与第五个|之间的内容
实现方法
方法1:直接按|分割字符串(适用于提取全局第4、5个|之间的内容)
Python的字符串split()方法可以按指定分隔符拆分字符串为列表,列表索引从0开始计数,第4和第5个|之间的内容对应拆分后列表索引为4的元素。
代码示例:
# 示例输入字符串 seq_str = "gi|339906901|ref|NC_015840.1| Pygocentrus nattereri mitochondrion, complete genome >gi|338797306|dbj|AP012000.1| Pygocentrus nattereri mitochondrial DNA," # 按|拆分字符串 parts = seq_str.split('|') # 取第4和第5个|之间的内容,对应索引4 target = parts[4] print(target)
输出结果:
Pygocentrus nattereri mitochondrion, complete genome >gi
方法2:拆分每条序列记录后分别提取(适用于提取每条gi记录对应位置的内容)
如果字符串里包含多条以>分隔的序列记录,想要提取每条记录内第4和第5个|之间的内容,可以先按>拆分所有记录,再逐个处理:
代码示例:
seq_str = "gi|339906901|ref|NC_015840.1| Pygocentrus nattereri mitochondrion, complete genome >gi|338797306|dbj|AP012000.1| Pygocentrus nattereri mitochondrial DNA," # 按>拆分所有记录,过滤空内容 records = [r for r in seq_str.split('>') if r] targets = [] for record in records: parts = record.split('|') if len(parts) >=5: # 避免索引越界 targets.append(parts[4].strip()) # strip()用于去除内容前后多余空格 print(targets)
输出结果:
['Pygocentrus nattereri mitochondrion, complete genome', 'Pygocentrus nattereri mitochondrial DNA,']
内容的提问来源于stack exchange,提问作者Ahmed Nageh
相关产品推荐
相关产品推荐

