Swift 程序将字符串转换为数组

swiftserver side programmingprogramming更新于 2025/9/19 4:07:17

本教程将讨论如何编写 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("原始字符串 1: ", myStr1)

// 数组
var myArr1 = myStr1.components(separatedBy: " ")
print("myStr1 的数组:", myArr1)

// 字符串 2
var myStr2 : String = "I-Like-ChamCham"
print("原始字符串 2:", myStr2)

// 数组
var myArr2 = myStr2.components(separatedBy: "-")
print("myStr2 的数组:", myArr2)

输出

原始字符串 1:今天是钓鱼的好日子
myStr1 的数组:["Today", "is", "the", "nice", "day", "for", "fishing"]

原始字符串 2:I-Like-ChamCham
myStr2 的数组:["I", "Like", "ChamCham"]

在上面的代码中,我们有两个不同的字符串 -

var myStr1 : String = "今天是钓鱼的好日子"
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("原始字符串 1: ", myStr1)

// 数组
var myArr1 = Array(myStr1)
print("myStr1 的数组:", myArr1)

// 字符串 2
var myStr2 : String = "ChamCham"
print("原始字符串 2:", myStr2)

// 数组
var myArr2 = Array(myStr2)
print("myStr2 的数组:", myArr2)

输出

原始字符串 1:今天很好
myStr1 的数组:["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]

原始字符串 2:ChamCham
myStr2 的数组:["C", "h", "a", "m", "C", "h", "a", "m"]

以上代码使用 Array() 初始化函数将两个字符串转换为数组,输出结果如下:

myStr1 的数组:["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]
myStr2 的数组:["C", "h", "a", "m", "C", "h", "a", "m"]

这里可以看到,Array() 会将所有内容(包括字母、空格和特殊字符)转换为任意数组。

方法 3 - 使用 map() 函数

我们也可以使用 map() 函数将字符串转换为数组。它会迭代字符串中的每个字符。或者我们可以说,此方法返回一个数组,其中包含将指定的 close 映射到序列项上的结果。

语法

以下是语法 -

String.map{String($0)}

这里使用 map () 迭代字符串中的每个字符,并使用 $0 将每个字符转换为字符串。

示例

以下程序演示如何将字符串转换为数组。

import Foundation
import Glibc

// String 1
var myStr1 : String = "Today is-nice"
print("原始字符串 1: ", myStr1)

// 数组
var myArr1 = myStr1.map{String($0)}
print("myStr1 的数组:", myArr1)

// 字符串 2
var myStr2 : String = "ChamCham"
print("原始字符串 2: ", myStr2)

// 数组
var myArr2 = myStr2.map{String($0)}
print("myStr2 的数组:", myArr2)

输出

原始字符串 1:  Today is-nice
myStr1 的数组: ["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]

原始字符串 2: ChamCham
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("原始字符串:", myStr)

// 数组
var myArr = [Character]()

// 使用 for 循环将字符串转换为数组
for c in myStr{
   myArr.append(c)
}

print("Array:", myArr)

输出

原始字符串: Today is-nice
Array: ["T", "o", "d", "a", "y", " ", "i", "s", "-", "n", "i", "c", "e"]


相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部