[Character]数组的输出当前为:
["E", "x", "a", "m", "p", "l", "e"]
它应该是:
Example
可能"
是在数组中,如下所示:"""
。该输出应为"
。
谢谢!
其他答案包括您的数组是String
元素之一的情况(很可能是这种情况:由于您尚未向我们提供数组的类型,因此我们可以使用Swift自己的类型推断规则来推测性地推断出输入为[String]
)。
如果您的数组元素实际上是type Character
,则可以直接使用的Character
序列初始化器String
:
let charArr: [Character] = ["E", "x", "a", "m", "p", "l", "e"]
let str = String(charArr) // Example
在下面写您的评论:如果由于某种原因您的示例数组是Any
元素之一(通常不是明确使用的好主意,但有时是从某个外部源接收数据的情况),则您首先需要尝试在将转换后的元素浓缩为单个实例之前,将每个Any
元素转换为String
类型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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句