Как получить последние 4 символа строки?

Мне нужно отделить последние 4 буквы строки. Как я могу его отделить? Длина строки меняется.

Пример:

var a = "StackOverFlow"
var last4 = a.lastFour //That what I want to do
print(last4) //prints Flow

Ответ 1

Решение substringFromIndex

let a = "StackOverFlow"
let last4 = a.substringFromIndex(a.endIndex.advancedBy(-4))

или suffix на characters

let last4 = String(a.characters.suffix(4))

код - Swift 2


Swift 3:

В Swift 3 синтаксис для первого решения был изменен на

let last4 = a.substring(from:a.index(a.endIndex, offsetBy: -4))

Swift 4:

В Swift 4 это становится более удобным:

let last4 = a.suffix(4)

Тип результата - это новый тип Substring, который во многих случаях ведет себя как String. Однако, если подстрока должна покинуть область, в которой она была создана, вам нужно создать новый экземпляр String.

let last4 = String(a.suffix(4))

Ответ 2

String substr = a.substring(a.length() - 4)
Синтаксис

неверен. нет типа перед vars в Swift.

let a = "1234567890"
let last4 = String(a.characters.suffix(4))
print(last4)

работает на Swift 3.0