期望的结果:[4,7,9]
我试过了:
let spaces: NSRange = full_string.rangeOfString(" ")
但这只返回4,而不是所有索引.
任何的想法?
解决方法 这是一个简单的方法:let string = "this is a string"let indices = string .characters .enumerate() .filter {let indices = map(filter(enumerate(string),{ .element == " " }),{ .index } ).element == " " } .map { .index }print(indices) // [4,9]
>字符返回一个CharacterVIEw,它是一个CollectionType(类似于单个字符的数组)
> enumerate将此集合转换为包含索引(0到15)和元素(每个单独的字符)的元组的SequenceType
> filter删除字符不是空格的元组
> map将元组数组转换为仅包含索引的数组
这种方法需要Swift 2(在Xcode 7 beta中).从评论,Swift 1.2语法:
(帽子提示到Martin R).
总结以上是内存溢出为你收集整理的Swift – 在字符串中的多个位置查找字符全部内容,希望文章能够帮你解决Swift – 在字符串中的多个位置查找字符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)