summaryrefslogtreecommitdiff
path: root/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiSymbolFilter.scala
blob: 7b0c810e06ab7e1eea52a10b90ad80abe910c713 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
}