如何将Swift数组转换为字符串?

如何将Swift数组转换为字符串?

我知道如何以编程方式执行此操作,但我确信有一种内置方式...

我使用的每种语言都有一些对象集合的默认文本表示形式,当你尝试将数组与字符串连接起来时,它会吐出来,或者将它传递给print()函数等。是Apple的Swift语言吗?有一种内置的方法可以轻松地将Array转换为String,或者在对数组进行字符串化时我们是否总是要显式?


守着一只汪
浏览 2549回答 3
3回答

慕尼黑8549860

Swift 2.0 Xcode 7.0 beta 6以后使用joinWithSeparator()而不是join():var array = ["1", "2", "3"]let stringRepresentation = array.joinWithSeparator("-") // "1-2-3"joinWithSeparator 被定义为扩展 SequenceTypeextension SequenceType where Generator.Element == String {    /// Interpose the `separator` between elements of `self`, then concatenate    /// the result.  For example:    ///    ///     ["foo", "bar", "baz"].joinWithSeparator("-|-") // "foo-|-bar-|-baz"    @warn_unused_result    public func joinWithSeparator(separator: String) -> String}

湖上湖

如果数组包含字符串,你可以使用String的join方法:var array = ["1", "2", "3"]let stringRepresentation = "-".join(array) // "1-2-3"在Swift 2中:var array = ["1", "2", "3"]let stringRepresentation = array.joinWithSeparator("-") // "1-2-3"如果要使用特定的分隔符(hypen,blank,逗号等),这可能很有用。否则,您只需使用该description属性,该属性返回数组的字符串表示形式:let stringRepresentation = [1, 2, 3].description // "[1, 2, 3]"提示:任何实现Printable协议的对象都有一个description属性。如果您在自己的类/结构中采用该协议,那么您也可以使它们打印友好在Swift 3中join成为joined例子[nil, "1", "2"].flatMap({$0}).joined()joinWithSeparator变为joined(separator:)(仅适用于字符串数组)在Swift 4中var array = ["1", "2", "3"]array.joined(separator:"-")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS