Skip to content

v0.2.49..v0.2.50 changeset StringUtils.cpp

Garret Voltz edited this page Nov 6, 2019 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/util/StringUtils.cpp b/hoot-core/src/main/cpp/hoot/core/util/StringUtils.cpp
index 85ed7d7..59e4b96 100644
--- a/hoot-core/src/main/cpp/hoot/core/util/StringUtils.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/util/StringUtils.cpp
@@ -37,7 +37,7 @@
 namespace hoot
 {
 
-QString StringUtils::secondsToDhms(const qint64 durationInMilliseconds)
+QString StringUtils::millisecondsToDhms(const qint64 durationInMilliseconds)
 {
   QString res;
   int duration = (int)(durationInMilliseconds / 1000);
@@ -87,6 +87,19 @@ bool StringUtils::hasDigit(const QString& input)
   return false;
 }
 
+bool StringUtils::isAlphaNumeric(const QString& input)
+{
+  for (int i = 0; i < input.length(); i++)
+  {
+    const QChar character = input.at(i);
+    if (!character.isLetterOrNumber())
+    {
+      return false;
+    }
+  }
+  return true;
+}
+
 bool StringUtils::isNumber(const QString& input)
 {
   bool isNumber = false;
@@ -148,4 +161,28 @@ void StringUtils::removeEmptyStrings(QStringList& strings)
   strings = output;
 }
 
+QSet<QString> StringUtils::getDuplicates(const QStringList& input)
+{
+  QSet<QString> duplicateStrings;
+  QSet<QString> uniqueStrings;
+  for (int i = 0; i < input.size(); i++)
+  {
+    const QString str = input.at(i);
+    if (uniqueStrings.contains(str))
+    {
+      duplicateStrings.insert(str);
+    }
+    else
+    {
+      uniqueStrings.insert(str);
+    }
+  }
+  return duplicateStrings;
+}
+
+bool StringUtils::containsSubstring(const QStringList& input, const QString& substring)
+{
+  return input.filter(substring, Qt::CaseInsensitive).size() > 0;
+}
+
 }
Clone this wiki locally