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()


Filter non-digits from string
Using only swift code I cant figure out how to take ”(555) 555-5555″ and return only the numeric values and get “5555555555”. I need to remove all the parentheses, white spaces, and the dash. The...