#include <iostream>
#include <string>
std::string SubstringBetweenTwoSubstrings(const std::string str,
const std::string suba,
const std::string subb) {
size_t posA = str.find(suba);
size_t posB = str.rfind(subb);
if (posA == std::string::npos)
return "";
if (posB == std::string::npos)
return "";
size_t indexEndSuba = posA + suba.length();
if (indexEndSuba >= posB)
return "";
return str.substr(indexEndSuba, posB - indexEndSuba);
}
int main() {
std::string str = "C#:C C++:Java:Python";
std::cout << SubstringBetweenTwoSubstrings(str, "C#", "Java") << std::endl;
}
/*
run:
:C C++:
*/