在Python中对字符串进行分区

2024-05-13 14:49:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串的格式是:

name = '>n263590 | AK138667 | mRNAlike lncRNA |'

所以当我想对它进行分区时,我使用了字符串:

^{pr2}$

我尝试对字符串使用相同的概念,格式如下:

name2 = '>mm10_refGene_NM_147038 range=chr1:92479681-92480629'

我只想要从'NM'开始直到数字结尾的区域

#i want the output to be name2 = 'NM_147038'

所以我试过了

name2 = name2.partition('NM','range')|[0]

但没用

我想我知道一种使用regex的方法,但是它的内存效率不高。 我能用分区工具来执行这个吗?在


Tags: 字符串name概念格式range分区nmmm10
3条回答

使用split(),这是一种简单的方法来完成这项工作。例如:

'NM' + name2.split('NM')[1]
=> 'NM_147038 range=chr1:92479681-92480629'

或者,如果只有一个分隔符,则可以使用index函数创建字符串的新片段:

^{pr2}$
import re

m = re.search(r"(NM_\d+)\s+range", name2)
if m:
   print(m.group(1))

使用正则表达式:

import re

re.findall(r'(NM_\d*)', name2)

相关问题 更多 >