Swift程式:將字串轉換為陣列


本教程將討論如何編寫Swift程式將字串轉換為陣列。

字串是有序的字元集合。例如 - “TutorialsPoint”、“Pinky”等。要建立字串型別變數,我們使用String關鍵字。

var str : String

陣列是相似資料型別的集合。例如,任何整數陣列只能包含整數值,它不接受字串值。

var arr = [Int]

要將字串轉換為陣列,我們可以使用以下任何一種方法。

以下是演示:

輸入

假設我們的給定輸入是:

Value = “true”

輸出

期望輸出為:

Array = [“t”, “r”, “u”, “e”]

方法1 - 使用components(separatedBy:)函式

要將字串轉換為陣列,我們可以使用內建的components(separatedBy:)方法。此方法使用指定的字串分隔符將字串分割成子字串。或者換句話說,此函式返回給定字串的子字串陣列,這些子字串由給定的分隔符分隔。

語法

以下是語法:

mystr. components(separatedBy:sep)

此處sep引數用於分隔給定字串的子字串。其值可以是字元或字串。

示例

以下程式演示如何將字串轉換為陣列。

import Foundation
import Glibc

// String 1
var myStr1 : String = "Today is the nice day for fishing"
print("Original String 1: ", myStr1)

// Array
var myArr1 = myStr1.components(separatedBy: " ")
print("Array of myStr1:", myArr1)

// String 2
var myStr2 : String = "I-Like-ChamCham"
print("Original String 2: ", myStr2)

// Array
var myArr2 = myStr2.components(separatedBy: "-")
print("Array of myStr2:", myArr2)

輸出

Original String 1:  Today is the nice day for fishing
Array of myStr1: ["Today", "is", "the", "nice", "day", "for", "fishing"]

Original String 2:  I-Like-ChamCham
Array of myStr2: ["I", "Like", "ChamCham"]

在上面的程式碼中,我們有兩個不同的字串:

var myStr1 : String = "Today is the nice day for fishing"
var myStr2 : String = "I-Like-ChamCham"

現在我們使用components(separatedBy:)方法將它們轉換為陣列:

var myArr1 = myStr1.components(separatedBy: " “)
var myArr2 = myStr2.components(separatedBy: "-")

因此我們得到以下陣列:

Array of myStr1: ["Today", "is", "the", "nice", "day", "for", "fishing"]
Array of myStr2: ["I", "Like", "ChamCham"]

方法2 - 使用Array()初始化器

我們還可以使用Array()初始化器將字串轉換為陣列。它將給定字串拆分為單個字元的陣列。

語法

以下是語法:

Array(Value)

示例

以下程式演示如何將字串轉換為陣列。

import Foundation
import Glibc

// String 1
var myStr1 : String = "Today is-nice"
print("Original String 1: ", myStr1)

// Array
var myArr1 = Array(myStr1)
print("Array of myStr1:", myArr1)

// String 2
var myStr2 : String = "ChamCham"
print("Original String 2: ", myStr2)

// Array
var myArr2 = Array(myStr2)
print("Array of myStr2:", myArr2)

輸出

Original String 1:  Today is-nice
Array of myStr1: ["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]

Original String 2:  ChamCham
Array of myStr2: ["C", "h", "a", "m", "C", "h", "a", “m"]

在上面的程式碼中,我們使用Array()初始化器將兩個字串轉換為陣列,我們得到以下輸出:

Array of myStr1: ["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]
Array of myStr2: ["C", "h", "a", "m", "C", "h", "a", “m"]

在這裡,您可以看到Array()將所有內容(包括字母、空格和特殊字元)轉換為字元陣列。

方法3 - 使用map()函式

我們還可以使用map()函式將字串轉換為陣列。它迭代字串中的每個字元。或者我們可以說此方法返回一個數組,該陣列包含將指定的閉包對映到序列項的結果。

語法

以下是語法:

String.map{String($0)}

這裡map()用於迭代字串中的每個字元,而$0用於將每個字元轉換為字串。

示例

以下程式演示如何將字串轉換為陣列。

import Foundation
import Glibc

// String 1
var myStr1 : String = "Today is-nice"
print("Original String 1: ", myStr1)

// Array
var myArr1 = myStr1.map{String($0)}
print("Array of myStr1:", myArr1)

// String 2
var myStr2 : String = "ChamCham"
print("Original String 2: ", myStr2)

// Array
var myArr2 = myStr2.map{String($0)}
print("Array of myStr2:", myArr2)

輸出

Original String 1:  Today is-nice
Array of myStr1: ["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]

Original String 2:  ChamCham
Array of myStr2: ["C", "h", "a", "m", "C", "h", "a", “m"]

方法4 - 使用for迴圈

我們還可以藉助for迴圈將字串轉換為陣列。在這裡,我們使用for迴圈遍歷字串的每個字元,然後使用append()函式將字元新增到陣列中。

示例

以下程式演示如何將字串轉換為陣列。

import Foundation
import Glibc

// String 1
var myStr : String = "Today is-nice"
print("Original String:", myStr)

// Array
var myArr = [Character]()

// Converting string into array using for loop
for c in myStr{
   myArr.append(c)
}

print("Array:", myArr)

輸出

Original String: Today is-nice
Array: ["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]

更新於:2022-12-13

8K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.