我试图从文本“20231006-OPUS solution _ cfhs0230.22d OP1696574785263-792.txt”中获取字符串,我对“cfhs0230.22d”感兴趣,我使用了下面的方法,但它不起作用,因为其中有两个“OP”.所以我想跳过第一个“OP”,取第二个“OP”,并获取“-”和第二个“OP”之间的字符串,我该怎么做?
mystr = 20231006-OPUS solution _ cfhs023 OP1696574785263-792
sub1 = "-"
sub2 = "OP" #this has to be second OP
idx1 = mystr.index(sub1)
idx2 = mystr .index(sub2)
print(idx1+ len(sub1) + 1,idx2)
for nx in range(idx1+ len(sub1) + 1,idx2):
print(nx)
2条答案
按热度按时间ffscu2ro1#
你可以使用字符串之间的空格来表示字符串,这将提供你想要的字符串,在str()函数中,你也可以打印该字符串。
ubbxdtey2#
你可以将字符串拆分为5个单词的列表,然后取索引为3的单词:
如果有很多字符串需要解析,这实际上取决于它们是否符合某种模式。它们总是包含5个由空格分隔的单词吗?索引3处的单词总是目标单词吗?要解决这样的问题,需要更多的细节。