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"]