Swift 配列を文字列に変換するにはどうすればいいですか? 質問する

Swift 配列を文字列に変換するにはどうすればいいですか? 質問する

プログラムでそれを実行する方法は知っていますが、組み込みの方法もあるはずです...

私がこれまで使用したすべての言語には、オブジェクトのコレクションに対する何らかのデフォルトのテキスト表現があり、配列を文字列と連結しようとしたり、print() 関数に渡そうとしたりすると、その表現が吐き出されます。Apple の Swift 言語には、配列を文字列に簡単に変換する方法が組み込まれているのでしょうか、それとも配列を文字列化するときは常に明示的に行う必要があるのでしょうか。

ベストアンサー1

配列に文字列が含まれている場合は、Stringjoinメソッドを使用できます。

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"

これは、特定の区切り文字 (ハイフン、空白、カンマなど) を使用する場合に便利です。

descriptionそれ以外の場合は、配列の文字列表現を返すプロパティを使用するだけです。

let stringRepresentation = [1, 2, 3].description // "[1, 2, 3]"

ヒント: プロトコルを実装するオブジェクトにはプロパティPrintableがありますdescription。クラス/構造体にそのプロトコルを採用すると、印刷に適したものになります。

Swift 3では

  • joinjoinedは、例になります[nil, "1", "2"].flatMap({$0}).joined()
  • joinWithSeparatorjoined(separator:)(文字列の配列のみ使用可能)

Swift 4では

var array = ["1", "2", "3"]
array.joined(separator:"-")

おすすめ記事