Added getStringBetween()

This commit is contained in:
2021-11-19 01:39:50 +01:00
parent 0b4ba83742
commit 321fec8c16
2 changed files with 18 additions and 0 deletions

View File

@ -115,4 +115,20 @@ std::string stringReplaceAll(std::string_view search, std::string_view replace,
}
return str;
}
std::optional<std::string_view> getStringBetween(std::string_view search, std::string_view prefix, std::string_view suffix)
{
auto beginIndex = search.find(prefix);
if (beginIndex == std::string_view::npos)
return std::nullopt;
auto restView = search.substr(beginIndex + prefix.size());
auto endIndex = restView.find(suffix);
if (endIndex == std::string_view::npos)
return std::nullopt;
return restView.substr(0, endIndex);
}
} // namespace cpputils

View File

@ -47,6 +47,8 @@ std::string stringReplaceAll(char search, std::string_view replace, std::string_
//std::string stringReplaceAll(std::string_view search, char replace, std::string_view subject);
std::string stringReplaceAll(std::string_view search, std::string_view replace, std::string_view subject);
std::optional<std::string_view> getStringBetween(std::string_view search, std::string_view prefix, std::string_view suffix);
constexpr const std::string_view allDigitsAndCharacters =
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"