web-dev-qa-db-fra.com

Comment obtenir les 4 derniers caractères d'une chaîne?

Je dois séparer les 4 dernières lettres d'une chaîne. Comment puis-je le séparer? La longueur de la chaîne change.

Ex:

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

Une solution est substringFromIndex

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

ou suffix sur characters

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

code est Swift 2


Swift 3:

Dans Swift 3, la syntaxe de la première solution a été modifiée en

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

Swift 4:

Dans Swift 4, cela devient plus pratique:

let last4 = a.suffix(4)

Le type du résultat est un nouveau type Substring qui se comporte souvent comme un String. Cependant, si la sous-chaîne est supposée quitter la portée où elle a été créée, vous devez créer une nouvelle instance String.

let last4 = String(a.suffix(4))
212
vadian
String substr = a.substring(a.length() - 4)

la syntaxe est fausse. aucun type avant vars à Swift.

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

fonctionne sur Swift 3.0

13
sparsh610