首页 > 解决方案 > 如果子字符串在另一个子字符串之前,则忽略它

问题描述

我有一个字符串,正在寻找两个子字符串,并希望显示这两个子字符串之间的内容。但是我想在子字符串 2 之前找到子字符串 1。在找到子字符串 1 之前如何忽略子字符串 2?我遇到的问题是如果 subString2 出现在 substring1 之前,它会返回一个空列表。

def findMiddle(mainString, subString1, subString2):
 
    newString = []
    startPos = mainString.find(subString1)
    endPos = mainString.find(subString2)
        
    for i in range(startPos, endPos):
            newString.append(i)
            
    return newString

标签: python

解决方案


不要搜索整个字符串的结束位置,只搜索开始位置之后的字符串切片。

startPos = mainString.find(subString1)
endPos = startPos+mainString[startPos:].find(subString2)

推荐阅读