|
|
@@ -8,7 +8,7 @@
|
|
|
namespace StringAlgorithm {
|
|
|
namespace Internal {
|
|
|
|
|
|
-size_t find_nth(const std::string& haystack, size_t pos, const std::string& needle, size_t nth)
|
|
|
+size_t find_nth(const std::string& haystack, size_t pos, const std::string& needle, size_t nth)
|
|
|
{
|
|
|
size_t found_pos = haystack.find(needle, pos);
|
|
|
if (0 == nth || std::string::npos == found_pos)
|
|
|
@@ -84,7 +84,7 @@ std::vector<std::string> split(const std::string& subject, const std::string del
|
|
|
{
|
|
|
std::string s(subject);
|
|
|
char delimiter = delimiters.front();
|
|
|
-
|
|
|
+
|
|
|
for (const char& c : delimiters)
|
|
|
std::replace(s.begin(), s.end(), c, delimiter);
|
|
|
|
|
|
@@ -118,4 +118,15 @@ std::string::const_iterator find_nth(const std::string& haystack, const std::str
|
|
|
return iterator;
|
|
|
}
|
|
|
|
|
|
+bool is_numeric(const std::string& string)
|
|
|
+{
|
|
|
+ auto result = double();
|
|
|
+ std::stringstream i;
|
|
|
+
|
|
|
+ i << string;
|
|
|
+ i >> result;
|
|
|
+
|
|
|
+ return !i.fail() && i.eof();
|
|
|
+}
|
|
|
+
|
|
|
} // namespace StringAlgorithm
|