Swift5で文字列と配列を相互に変換する

1. Array(str)、String(array)メソッドを使用する

文字列から文字配列へ:Array(str)
文字配列から文字列へ:String(array)

let test = "i like ios"
let array = Array(test)     //[Character]
let string = String(array)  //String
print(array)
print(string)

結果は次のように出力されます。

[“i”, " ", “l”, “i”, “k”, “e”, " ", “i”, “o”, “s”] iOSが好き
です

2、String.components(Separator: " ")、[String].joined(区切り文字: " ")を採用

文字列から [文字列] 配列へ: String.components(separatedBy: " ")
[文字列] 配列から文字列へ:[String].joined(separator: " ")

let test = "i like ios"
let array = test.components(separatedBy: " ")

let intArray = [1,2,3,4,5]
let dataArray = intArray.map(String.init)
let resultString = dataArray.joined(separator: "")
print(array)
print(resultString)

結果は次のように出力されます。

[「私」、「好き」、「ios」]
12345

3. String.indexを使用します(不満: この API は本当に使いにくいです)

String は指定されたインデックスの Character を取得します。String[String.index]
String はインデックス範囲に従って SubString を取得します。String(String[index_1...index_2])

let test = "i like ios"
let char_0 = test[test.index(test.startIndex, offsetBy: 0)]
let char_8 = test[test.index(test.startIndex, offsetBy: 8)]
let beginIndex = test.index(test.startIndex, offsetBy: 0)
let endIndex = test.index(test.startIndex, offsetBy: 8)
let subString = String(test[beginIndex...endIndex])
print(char_0)
print(char_8)
print(subString)

結果は次のように出力されます。

それは
全く
同じです

チップ:

Swift には多くの文字および文字列処理 API があります。ここでは、頻繁に使用される Swift 文字処理テクニックをいくつか紹介します。

let charOfA = Character("A")
let uInt8Value = charOfA.asciiValue!            //Character转UInt8
let char = Character(UnicodeScalar(uInt8Value)) //UInt8转Character

let intArray = [1,2,3,4,5,6]
let strArray = intArray.map(String.init)       //[Int]转[String]

let str_Array = ["123","01","xx","000"]
let int_Array = str_Array.map(Int.init)        //[String]转[Int?] 因为有的字符串无法转int,该index存在且为nil

おすすめ

転載: blog.csdn.net/weixin_44758107/article/details/127871665