Swift 3.0迭代String.Index范围
|
使用Swift 2.2可以实现以下功能:
let m = "alpha"
for i in m.startIndex..<m.endIndex {
print(m[i])
}
a
l
p
h
a
使用3.0,我们收到以下错误:
我试图用swift中的字符串做一个非常简单的操作 – 简单地遍历字符串的前半部分(或者更通用的问题:遍历字符串的范围). 我可以做以下事情: let s = "string" var midIndex = s.index(s.startIndex,offsetBy: s.characters.count/2) let r = Range(s.startIndex..<midIndex) print(s[r]) 但在这里,我并没有真正遍历这个字符串.所以问题是:如何遍历给定字符串的范围.喜欢: for i in Range(s.startIndex..<s.midIndex) {
print(s[i])
}
您可以使用characters属性的indices属性遍历字符串,如下所示:
let letters = "string"
let middle = letters.index(letters.startIndex,offsetBy: letters.characters.count / 2)
for index in letters.characters.indices {
// to traverse to half the length of string
if index == middle { break } // s,t,r
print(letters[index]) // s,r,i,n,g
}
从字符串和字符中的documentation开始 – 计数字符:
重点是我自己的. 这不起作用: let secondChar = letters[1] // error: subscript is unavailable,cannot subscript String with an Int (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
