【发布时间】:2019-05-31 05:01:03
【问题描述】:
我有一个基因列表,我需要确定列表中的基因是否存在于“文章标题”中,如果存在,则在句子中找到基因的开始和结束位置。
开发的代码确实识别基因并检测基因在句子中的位置。但是,我需要帮助找到基因的起始位置和结束位置
doc = tree.getroot()
for ArticleTitle in doc.iter('ArticleTitle'):
file1 = (ET.tostring(ArticleTitle, encoding='utf8').decode('utf8'))
filename = file1[52:(len(file1))]
Article= filename.split("<")[0]
# print(Article)
# print(type(Article))
title= Article.split()
gene_list = ["ABCD1","ADA","ALDOB","APC","ARSB","ATAD3B","AXIN2","BLM","BMPR1A","BRAF","BRCA1"]
for item in title:
for item1 in gene_list:
if item == item1:
str_title= ' '.join(title)
print(str_title)
print("Gene Found: " + item)
index= title.index(item)
print("Index of the Gene :" +str(index))
result = 0
for char in str_title:
result +=1
print(result)
当前输出为:
Healthy people 2000: a call to action for ADA members.
Gene Found: ADA
Index of the Gene :8
54
预期输出是:
Healthy people 2000: a call to action for ADA members.
Gene Found: ADA
Index of the Gene :8
Gene start position: 42
Gene End postion: 45
开始和结束位置也应该计算单词之间的空格。
【问题讨论】:
-
您必须解析文档并列出每个单词的起点,即索引值。那么你可以这样做
-
你可以使用index方法,但是如果你必须完全匹配这个词我建议你看看regex
-
@DanielMesejo 这对我有帮助!我可以得到结束和开始的位置!谢谢
标签: python python-3.x string split