diff --git a/renderdoc/serialise/string_utils.cpp b/renderdoc/serialise/string_utils.cpp index 67ef4d7a4..58db242d3 100644 --- a/renderdoc/serialise/string_utils.cpp +++ b/renderdoc/serialise/string_utils.cpp @@ -107,3 +107,16 @@ bool endswith(const std::string &value, const std::string &ending) return (0 == value.compare(value.length() - ending.length(), ending.length(), ending)); } + +std::string removeFromEnd(const std::string &value, const std::string &ending) +{ + string::size_type pos; + pos = value.rfind(ending); + + // Create new string from beginning to pattern + if(string::npos != pos) + return value.substr(0, pos); + + // If pattern not found, just return original string + return value; +} \ No newline at end of file diff --git a/renderdoc/serialise/string_utils.h b/renderdoc/serialise/string_utils.h index 2fa7549e5..3169c4764 100644 --- a/renderdoc/serialise/string_utils.h +++ b/renderdoc/serialise/string_utils.h @@ -38,6 +38,7 @@ std::string strupper(const std::string &str); std::wstring strupper(const std::wstring &str); std::string trim(const std::string &str); +std::string removeFromEnd(const std::string &value, const std::string &ending); uint32_t strhash(const char *str, uint32_t existingHash = 5381);