String'deki nümerik olmayan karakterlerin filtrelenmesi
String'de sadece nümerik değerlerin filtrelenmesi gerekli olursa aşağıdaki örnek kodlar ile bu yapılabilmektedir.
//Extension String
extension String {
var digits: String {
return components(separatedBy: CharacterSet.decimalDigits.inverted).joined()
}
}
decimalDigits ile tüm dillerdeki nümerik değeride yakalayabilmektedir.
Diğer bir yöntem ise Karakterleri kırpmaktır. Bunun yalnızca String'in başındaki ve sonundaki karakterleri kaldırdığını unutmayın.
tring.trimmingCharacters(in: CharacterSet(charactersIn: "0123456789").inverted)
Ancak filtreme yapmak en uygun çözüm olacaktır.
string.filter("0123456789".contains)
veya
string.components(separatedBy: CharacterSet(charactersIn: "0123456789").inverted).joined()