Swift中字符串的字符数组

Petravd1994:

[Character]数组的输出当前为:

["E", "x", "a", "m", "p", "l", "e"]

它应该是:

Example

可能"是在数组中,如下所示:"""该输出应为"

谢谢!

dfri:

其他答案包括您的数组是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

您自然也可以(尝试)从转换AnyCharacter元素,但是即使在这种情况下,您也必须通过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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章