From 6c7adadf6d5c85d5e280e965d4dee1563bf46821 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 1 Dec 2019 18:05:16 +0100 Subject: Add 4chan posting --- src/StringUtils.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/StringUtils.cpp') diff --git a/src/StringUtils.cpp b/src/StringUtils.cpp index deb4949..16d3b48 100644 --- a/src/StringUtils.cpp +++ b/src/StringUtils.cpp @@ -14,4 +14,37 @@ namespace QuickMedia { index = new_index + 1; } } + + void string_replace_all(std::string &str, const std::string &old_str, const std::string &new_str) { + size_t index = 0; + while(true) { + index = str.find(old_str, index); + if(index == std::string::npos) + return; + str.replace(index, old_str.size(), new_str); + } + } + + static bool is_whitespace(char c) { + return c == ' ' || c == '\n' || c == '\t' || c == '\v'; + } + + std::string strip(const std::string &str) { + if(str.empty()) + return str; + + int start = 0; + for(; start < (int)str.size(); ++start) { + if(!is_whitespace(str[start])) + break; + } + + int end = str.size() - 1; + for(; end >= start; --end) { + if(!is_whitespace(str[end])) + break; + } + + return str.substr(start, end - start + 1); + } } \ No newline at end of file -- cgit v1.2.3