You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:00:01