diff --git a/src/common/stringTools.cpp b/src/common/stringTools.cpp index 55520f7fc..0df74453a 100644 --- a/src/common/stringTools.cpp +++ b/src/common/stringTools.cpp @@ -124,4 +124,12 @@ void kiwix::printStringInHexadecimal(const char *s) { std::cout << std::endl; } +void kiwix::stringReplacement(std::string& str, const std::string& oldStr, const std::string& newStr) { + size_t pos = 0; + while((pos = str.find(oldStr, pos)) != std::string::npos) { + str.replace(pos, oldStr.length(), newStr); + pos += newStr.length(); + } +} + diff --git a/src/common/stringTools.h b/src/common/stringTools.h index eaf81a38b..8d6f41766 100644 --- a/src/common/stringTools.h +++ b/src/common/stringTools.h @@ -46,8 +46,10 @@ namespace kiwix { void printStringInHexadecimal(const char *s); void printStringInHexadecimal(UnicodeString s); - std::string ucFirst (const std::string &word); - std::string lcFirst (const std::string &word); + std::string ucFirst(const std::string &word); + std::string lcFirst(const std::string &word); + + void stringReplacement(std::string& str, const std::string& oldStr, const std::string& newStr); } #endif