开发者社区> 问答> 正文

将Swift字符串转换为数组

如何在Swift中将字符串“ Hello”转换为数组[“ H”,“ e”,“ l”,“ l”,“ o”]?

在Objective-C中,我使用了以下方法:

NSMutableArray *characters = [[NSMutableArray alloc] initWithCapacity:[myString length]]; for (int i=0; i < [myString length]; i++) { NSString *ichar = [NSString stringWithFormat:@"%c", [myString characterAtIndex:i]]; [characters addObject:ichar]; } 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 22:35:45 934 0
1 条回答
写回答
取消 提交回答
  • 在Swift中甚至更容易:

    let string : String = "Hello  " let characters = Array(string) println(characters) // [H, e, l, l, o, , , , , ] 这利用了以下事实:

    一个Array可以从被创建SequenceType,并且 String符合SequenceType协议,并且其序列生成器枚举字符。 而且,由于Swift字符串完全支持Unicode,因此即使在“基本多语言平面”之外的字符(例如)和扩展的字素簇(例如,它实际上由两个 Unicode标量组成)下也可以使用。

    更新:从Swift 2开始, String不再符合 SequenceType,但该characters属性提供了Unicode字符序列:

    let string = "Hello  " let characters = Array(string.characters) print(characters) 这在Swift 3中也适用。

    从Swift 4开始, String(再次)是其Characters 的集合 :

    let string = "Hello  " let characters = Array(string) print(characters) // ["H", "e", "l", "l", "o", " ", "", "", " ", ""]

    2020-02-07 22:36:08
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OpenStack Swift 海量小文件优化之路 立即下载
From Java/Android to Swift iOS 立即下载
Swift在Airbnb的应用实践 立即下载

相关实验场景

更多