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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |