summaryrefslogtreecommitdiff
path: root/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterNumberOnlyFilter.scala
diff options
context:
space:
mode:
Diffstat (limited to 'core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterNumberOnlyFilter.scala')
-rwxr-xr-xcore/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterNumberOnlyFilter.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterNumberOnlyFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterNumberOnlyFilter.scala
new file mode 100755
index 0000000..7cf97ba
--- /dev/null
+++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterNumberOnlyFilter.scala
@@ -0,0 +1,15 @@
+package com.rockymadden.stringmetric.filter
+
+import com.rockymadden.stringmetric.StringFilter
+
+/** Ensures only ASCII letters and numbers matter. */
+trait AsciiLetterNumberOnlyFilter extends StringFilter {
+ abstract override def filter(charArray: Array[Char]): Array[Char] =
+ super.filter(
+ charArray.filter(c =>
+ ((c >= 48 && c <= 57 ) || (c >= 65 && c <= 90 ) || (c >= 97 && c <= 122))
+ )
+ )
+
+ abstract override def filter(string: String): String = filter(string.toCharArray).mkString
+}