diff --git a/src/string_utils.cpp b/src/string_utils.cpp index 3e9cbe07051d9b9af2945a7b61713206cfd581cc..adadbae1638d25aa777bcf7347f9dfc0199a24a3 100644 --- a/src/string_utils.cpp +++ b/src/string_utils.cpp @@ -121,4 +121,13 @@ split_string_to_unsigned(const std::string &s, char delim) return result; } +void string_replace(std::string& str, const std::string& from, const std::string& to) +{ + size_t start_pos = 0; + while ((start_pos = str.find(from, start_pos)) != std::string::npos) { + str.replace(start_pos, from.length(), to); + start_pos += to.length(); // Handles case where 'to' is a substring of 'from' + } +} + } // namespace jami diff --git a/src/string_utils.h b/src/string_utils.h index f5c69cc5a76c5d2cb4335677a7c092249db36e45..3f0e85fc9b2956f717332e09cfd35e9e9db8a203 100644 --- a/src/string_utils.h +++ b/src/string_utils.h @@ -19,8 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef STRING_UTILS_H -#define STRING_UTILS_H +#pragma once #include <string> #include <vector> @@ -67,6 +66,6 @@ split_string(const std::string& s, char sep); std::vector<unsigned> split_string_to_unsigned(const std::string& s, char sep); -} // namespace jami +void string_replace(std::string& str, const std::string& from, const std::string& to); -#endif +} // namespace jami