Форматирование номера телефона


#1

Всем привет, подскажите пожалуйста как отфарматировать стринг “+18001234567” -> чтобы получилось “+1 800 123-4567”, заранее благодарен!


#2

Если кому надо

extension String {

func formatMobileNumber() -> String {
    let cleanPhoneNumber = components(separatedBy: CharacterSet.decimalDigits.inverted).joined()
    
    let mark = "+X XXX XXX-XXXX"
    var result = ""
    var startIndex = cleanPhoneNumber.startIndex
    let endIndex = cleanPhoneNumber.endIndex
    
    for char in mark where startIndex < endIndex {
        if char == "X" {
            result.append(cleanPhoneNumber[startIndex])
            startIndex = cleanPhoneNumber.index(after: startIndex)
        } else {
            result.append(char)
        }
    }
    return result
}

}