summaryrefslogtreecommitdiff
path: root/stringmetric-core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiSymbolOnlyFilter.scala
blob: 5cb5e949b5b51dd70f8323904095f8f6d9c54077 (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 only ASCII symbols matter. */
trait AsciiSymbolOnlyFilter 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
}