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+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告