目前 [Character] 数组的输出是:
["E", "x", "a", "m", "p", "l", "e"]
应该是:
Example
可能是"
在数组中,像这样:"""
。该输出应为 "
。
谢谢!
最佳答案
其他答案涵盖了您的数组是 String
元素之一的情况(这里很可能是这种情况:因为您没有向我们提供数组的类型,我们可以使用 Swift 自己的类型推断规则来推测类型推断为 [String]
)。
如果您的数组元素实际上是 Character
类型,您可以使用 Character
sequence initializer of String
直接:
let charArr: [Character] = ["E", "x", "a", "m", "p", "l", "e"]
let str = String(charArr) // Example
W.r.t.您在下面的评论:如果您的示例数组出于某种原因是 Any
元素之一(显式使用通常不是一个好主意,但有时在从某些外部源接收数据时会出现这种情况),在将转换后的元素连接到单个 String
实例之前,您首先需要尝试将每个 Any
元素转换为 String
类型。转换后,您将使用 String
元素数组,在这种情况下,其他答案中显示的方法将是适当的连接方法:
// e.g. using joined()
let arr: [Any] = ["E", "x", "a", "m", "p", "l", "e"]
let str = arr.flatMap { $0 as? String }.joined()
print(str) // example
您当然也可以(尝试)将 Any
元素转换为 Character
元素,但即使在这种情况下,您也必须通过 String
> 实例,这意味着对于 [Any]
情况,上面的 joined()
替代方案优于下面的替代方案:
let arr: [Any] = ["E", "x", "a", "m", "p", "l", "e"]
let str = String(arr.flatMap { ($0 as? String)?.characters.first })
print(str) // example
关于arrays - 字符数组到 Swift 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40597189/