подстрока со строкой массива-Swift

у меня есть массив:

var array = ["1|First", "2|Second", "3|Third"]

Как я могу отрезать "1|", "2|", "3|"?
Результат должен выглядеть так:

println(newarray) //["First", "Second", "Third"]

1 ответов


вы можете использовать (предполагая, что строки будут содержать символ"|"):

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

как указал @Grimxn, если вы не можете предположить, что символ " | " всегда будет в строках, используйте:

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

или

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

result2 может быть немного быстрее, потому что он не создает промежуточный массив из componentsSeparatedByString.

или если вы хотите изменить исходный массив:

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