在Swift中用两个符号拆分字符串

Фил*_*ков 2 string swift

我想在Swift中将字符串拆分为两个符号.所以在字符串"df57g5df7g"之后我想获得一个数组["df","57","g5","df","7g"].是否可以强制使用迭代器

for i in word.characters {
 print(i)
}
Run Code Online (Sandbox Code Playgroud)

跳过两个符号,并获得循环内的下一个符号?

Cod*_*ent 5

一个简单的while循环:

let str = "df57g5df7g"

var startIndex = str.startIndex
var result = [String]()

repeat {
    let endIndex = startIndex.advancedBy(2, limit: str.endIndex)
    result.append(str[startIndex..<endIndex])

    startIndex = endIndex
} while startIndex < str.endIndex

print(result)
Run Code Online (Sandbox Code Playgroud)

或更多的东西Swifty:

let result = 0.stride(to: str.characters.count, by: 2).map { i -> String in
    let startIndex = str.startIndex.advancedBy(i)
    let endIndex   = startIndex.advancedBy(2, limit: str.endIndex)
    return str[startIndex..<endIndex]
}
Run Code Online (Sandbox Code Playgroud)