python - 如果子字符串在另一个子字符串之前,则忽略它
问题描述
我有一个字符串,正在寻找两个子字符串,并希望显示这两个子字符串之间的内容。但是我想在子字符串 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
解决方案
不要搜索整个字符串的结束位置,只搜索开始位置之后的字符串切片。
startPos = mainString.find(subString1)
endPos = startPos+mainString[startPos:].find(subString2)
推荐阅读
- c# - 如何在 asp.net 代码中获取 ssd 的信息?
- python - INSPECTDB 和 INSPECTDB_REFACTOR 生成空模型
- javascript - 使用 SimpleImage 类向图像添加水印/叠加
- c++ - 如何在多线程 c++ 17 程序中交换两个指针?
- blockchain - Solidity 上的区块链服务器的数据不会显示在浏览器上
- php - 如何在某些条件下使用左连接删除两个表中的重复数据
- scala - 可以肯定地检查 S3 存储桶的存在,但无法列出其对象
- python - 如何仅合并两个数据框之一的特定列?
- google-genomics - gcloud.alpha.genomics.pipelines.run - 没有这样的文件或目录:'wdl_pipeline.yaml'
- vb.net - 使用逗号转换在另一个文本框中拆分的多行文本框值