diff options
Diffstat (limited to 'core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiSymbolFilter.scala')
-rwxr-xr-x | core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiSymbolFilter.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiSymbolFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiSymbolFilter.scala new file mode 100755 index 0000000..7b0c810 --- /dev/null +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiSymbolFilter.scala @@ -0,0 +1,15 @@ +package com.rockymadden.stringmetric.filter + +import com.rockymadden.stringmetric.StringFilter + +/** Ensures ASCII symbols do not matter. */ +trait AsciiSymbolFilter extends StringFilter { + abstract override def filter(charArray: Array[Char]): Array[Char] = + super.filter( + charArray.filter(c => + !((c >= 32 && c <= 47) || (c >= 58 && c <= 64) || (c >= 91 && c <= 96) || (c >= 123 && c <= 126)) + ) + ) + + abstract override def filter(string: String): String = filter(string.toCharArray).mkString +} |