带有数组字符串的子字符串 - Swift

Саш*_*нко 8 arrays substring ios swift

我有一个数组:

var array = ["1|First", "2|Second", "3|Third"]
Run Code Online (Sandbox Code Playgroud)

我如何切断"1 |","2 |","3 |"?
结果应如下所示:

println(newarray) //["First", "Second", "Third"]
Run Code Online (Sandbox Code Playgroud)

Dán*_*agy 9

你可以使用(假设字符串将包含"|"字符):

let newarray = array.map { $0.componentsSeparatedByString("|")[1] }
Run Code Online (Sandbox Code Playgroud)

正如@Grimxn指出的那样,如果你不能假设"|" 字符将始终在字符串中,使用:

let newarray = array.map { $0.componentsSeparatedByString("|").last! }
Run Code Online (Sandbox Code Playgroud)

要么

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

result2可能会快一点,因为它不会创建一个中间数组componentsSeparatedByString.

或者如果要修改原始数组:

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