2015-06-25 14 views

Odpowiedz

9

Można użyć (zakładając struny będzie zawierała znaku „|” charakter):

let newarray = array.map { $0.componentsSeparatedByString("|")[1] } 

Jak @Grimxn wskazał, jeśli nie można zakładać, że "|" postać zawsze będzie w struny, użycia:

let newarray = array.map { $0.componentsSeparatedByString("|").last! } 

lub

let newarray2 = array.map { $0.substringFromIndex(advance(find($0, "|")!, 1)) } 

wynik2 mogłaby być trochę szybciej, ponieważ nie tworzy pośredni tablicę z componentsSeparatedByString.

lub jeśli chcesz zmodyfikować oryginalną tablicę:

for index in 0..<array.count { 
    array[index] = array[index].substringFromIndex(advance(find(array[index], "|")!, 1)) 
} 
+0

Swift 1.2 Składnia: 'map (tablica) {$ 0.componentsSeparatedByString ("|") [1]}' Odpowiedź jest szybka 2,0 –

+0

właściwie, moje i Swift 1.2 –

+0

ops, mój błąd. Swift 1.2 ma 'map()' jako funkcję globalną i funkcję tablicową również –