#include <iostream>
#include <vector>
std::vector<std::string> split_by_substring(const std::string& str, const std::string& delimiter) {
std::vector<std::string> tokens;
size_t start = 0, end = 0;
while ((end = str.find(delimiter, start)) != std::string::npos) {
tokens.push_back(str.substr(start, end - start));
start = end + delimiter.length();
}
tokens.push_back(str.substr(start));
return tokens;
}
int main() {
std::string str = "C++ programming language and computer programs and game development";
std::string delimiter = "and";
std::vector<std::string> result = split_by_substring(str, delimiter);
for (const auto& s : result) {
std::cout << s << std::endl;
}
}
/*
run:
C++ programming language
computer programs
game development
*/