Например: строка "car1"

Я хочу 1 в целочисленном значении в быстром 3. чтобы получить последний символ, я использую string.characters.last .

-6
Nick 21 Мар 2017 в 13:46

2 ответа

Лучший ответ

Просто преобразуйте этот последний character в String, а затем String в Int.

if let last = str.characters.last, let value = Int(String(last)) {
     print(value)
}

Изменить . Если у вас есть номер, например, cart10, cart11, ... cart100 ..., попробуйте получить этот номер после корзины.

let str = "cart15"
let cartNumber = str.characters.flatMap({Int(String($0))}).reduce(0, {10 * $0 + $1})
print(cartNumber) //15
1
Nirav D 21 Мар 2017 в 16:31

Используйте это расширение строки

extension String {

    var toInt:Int?{
        get{
            return Int(self)
        }
    }

    var getOnlyDigits:String?{
        get {
         return self.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()
          }
    }
}
1
Phani Sai 21 Мар 2017 в 11:00