summaryrefslogtreecommitdiffstats
path: root/Src/StringTools.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/StringTools.cpp')
-rw-r--r--Src/StringTools.cpp155
1 files changed, 0 insertions, 155 deletions
diff --git a/Src/StringTools.cpp b/Src/StringTools.cpp
deleted file mode 100644
index fe16c93..0000000
--- a/Src/StringTools.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-#include "StringTools.h"
-#include <sstream>
-
-std::string StringTools::Replace(const std::string& str, const char find, const std::string& subst) {
- std::stringstream ss;
-
- for (std::size_t i = 0; i < str.length(); i++)
- {
- if (str[i] != find)
- ss << str[i];
- else
- ss << subst;
- }
-
- return ss.str();
-}
-
-std::string StringTools::Replace(const std::string& str, const std::string& find, const std::string& subst) {
- if (find.length() == 0)
- return str;
-
- std::stringstream ss;
-
- std::size_t posFound = 0;
- std::size_t lastFound = 0;
-
- while (posFound != std::string::npos)
- {
- lastFound = posFound;
- posFound = str.find(find, posFound);
-
- if (posFound != std::string::npos)
- {
- ss << str.substr(lastFound, posFound - lastFound) << subst;
- posFound += find.length();
- }
- else
- {
- ss << str.substr(lastFound, (str.length()) - lastFound);
- }
- }
-
- return ss.str();
-}
-
-std::string StringTools::Replace(const std::string& str, const char find, const char subst) {
- std::stringstream ss;
- ss << subst;
-
- return Replace(str, find, ss.str());
-}
-
-std::string StringTools::Replace(const std::string& str, const std::string& find, const char subst) {
- std::stringstream ss;
- ss << subst;
-
- return Replace(str, find, ss.str());
-}
-
-std::string StringTools::Lower(const std::string& str) {
- std::stringstream ss;
-
- for (std::size_t i = 0; i < str.size(); i++)
- {
- const char c = str[i];
-
- // Quick-accept: regular letters
- if ((c >= 'A') && (c <= 'Z'))
- ss << (char)(c | 32);
-
- // Else: keep the character as is
- else ss << c;
- }
-
- return ss.str();
-}
-
-std::string StringTools::Upper(const std::string& str) {
- std::stringstream ss;
-
- for (std::size_t i = 0; i < str.size(); i++)
- {
- const char c = str[i];
-
- // Quick-accept: regular letters
- if ((c >= 'a') && (c <= 'z'))
- ss << (char)(c & ~32);
-
- // Else: keep the character as is
- else ss << c;
- }
-
- return ss.str();
-}
-
-std::vector<std::string> StringTools::Split(const std::string& str, const std::string& seperator) {
- std::vector<std::string> toRet;
- // Quick-accept: str length is 0
- if (str.length() == 0)
- toRet.push_back("");
-
- // Quick-accept: seperator length is 0
- else if (seperator.length() == 0) {
- for (const char c : str)
- toRet.push_back(std::string(&c, (&c) + 1));
- }
-
- else {
- std::size_t idx = 0;
- while (idx != std::string::npos) {
- std::size_t lastIdx = idx;
- idx = str.find(seperator, idx);
-
- // Grab our substring until the next finding of sep
- if (idx != std::string::npos) {
- toRet.push_back(str.substr(
- lastIdx,
- idx - lastIdx
- ));
-
- idx += seperator.length();
- }
- // No more seperator found. Grab the rest until the end of the string
- else {
- toRet.push_back(str.substr(
- lastIdx
- ));
- }
- }
- }
-
- return toRet;
-}
-
-std::string StringTools::PadLeft(const std::string& str, const char pad, const std::size_t len) {
- std::stringstream ss;
-
- for (std::size_t i = str.length(); i < len; i++)
- ss << pad;
-
- ss << str;
-
- return ss.str();
-}
-
-std::string StringTools::PadRight(const std::string& str, const char pad, const std::size_t len) {
- std::stringstream ss;
-
- ss << str;
-
- for (std::size_t i = str.length(); i < len; i++)
- ss << pad;
-
- return ss.str();
-}