python 在有多个重复相同单词的pyton中的两个字符串之间拉动字符串

oprakyz7  于 2023-10-14  发布在  Python
关注(0)|答案(2)|浏览(114)

我试图从文本“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)
ffscu2ro

ffscu2ro1#

你可以使用字符串之间的空格来表示字符串,这将提供你想要的字符串,在str()函数中,你也可以打印该字符串。

str = '20231006-OPUS solution _ cfhs023 OP1696574785263-792'
sub1 = "_ "
sub2 = " OP"  #this has to be second OP
idx1 = str.index(sub1)
idx2 = str.index(sub2)
print(str[idx1+2:idx2])
print(idx1 + 2,idx2)
for nx in range(idx1 + 2,idx2):
    print(nx)
ubbxdtey

ubbxdtey2#

你可以将字符串拆分为5个单词的列表,然后取索引为3的单词:

words = str.split()
print(words[3])

如果有很多字符串需要解析,这实际上取决于它们是否符合某种模式。它们总是包含5个由空格分隔的单词吗?索引3处的单词总是目标单词吗?要解决这样的问题,需要更多的细节。

相关问题