【问题标题】:Split a string into letters [duplicate]将字符串拆分为字母[重复]
【发布时间】:2016-01-16 05:03:32
【问题描述】:

假设我有一个String - "Hello" 如何将String 拆分为Array,其中包含每个character,就像这样-["H", "e", "l", "l", "o"] 谢谢。

【问题讨论】:

  • 这实际上是 luk2302 提到的问题的 exact 副本。甚至示例字符串都是一样的

标签: ios arrays string swift2 xcode7


【解决方案1】:

字符串中的字符放在characters 集合下。只需遍历它们并将它们转换为String

斯威夫特 4

let str =  "Hello"
let arr = str.map { String($0) }
print(arr)

斯威夫特 3

let str =  "Hello"
let arr = str.characters.map { String($0) }
print(arr)

【讨论】:

  • 或者只是Array(str.characters)
  • @Arc676 不同之处在于您的代码产生一个字符数组,而他的答案产生一个字符串数组
  • Array(str.characters) 创建一个 Character 数组。以后更难合作
  • 只是为了澄清那些阅读本文的人:表达式str.characters 给出了一个Character 结构的数组。代码str.characters.map { String($0) } 创建一个字符数组,然后将该数组映射回一个单字符数组String 对象。
【解决方案2】:

我认为您必须手动进行一些操作。

NSString *str = @"Hello";
NSMutableArray *chars = [NSMutableArray new];
for (NSUInteger i = 0; i < [str length]; i++) {
    unichar c = [str characterAtIndex:i];
    [chars addObject:[NSString stringWithCharacters:&c length:1]]; 
}

【讨论】:

  • 对 Swift 提出问题..
  • 错误的语言和错误的陈述。
  • OP 正在寻求 Swift 中的解决方案,其中处理来自字符串的字符有所不同,稍微复杂一些,并且在 Swift 2 中略有变化。我对 Swift 2 还不是很熟悉,所以我要让 Swift 2 上的人来回答这个问题。
  • 这是用于 Obj-C 的。该问题使用 Swift 2(它为您提供带有 str.characters 的字符数组)
  • 以错误的语言发布答案,然后声称您的陈述在该(错误)语言中实际上是正确的,这只是......我不知道......仍然非常错误。如果我发布一个 CJam 答案并说你可以只用一封信就可以做到这一点 - 那是真的,但什么也没做。因此,虽然您在 Objective-C 中可能是正确的,但这并不重要。
猜你喜欢
  • 2012-09-11
  • 1970-01-01
  • 2021-04-28
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多