Swift 程序将数组转换为字符串
本教程将讨论如何编写 Swift 程序将数组转换为字符串。
字符串是字符的有序集合。例如:"TutorialsPoint"、"Pinky"等。要创建字符串类型变量,我们使用 String 关键字。
var str : String
数组是相似数据类型的集合。与任何整数数组一样,它只能包含整数值,不接受字符串值。
var arr = [Int]
要将数组转换为字符串,我们可以使用以下任一方法。
以下是相同的演示 -
输入
假设给定的输入是 -
Array = ["t", "r", "u", "e"]
输出
所需的输出将是 -
String = "true"
方法 1 - 使用 join(separator:) 函数
要将数组转换为字符串,我们可以使用内置的 join() 函数。此函数用于连接指定序列的元素,并在它们之间插入指定的分隔符。此方法适用于字符串和字符数组,但如果您想将整数数组转换为字符串,则不能直接调用此函数,否则会出错。您可以将数字数组转换为字符串数组,然后使用joined()函数。
语法
语法如下:
StringName.joined(separator:)
示例 1
以下程序演示如何将数组转换为字符串。
import Foundation
import Glibc
// 字符数组
var myArr = ["M", "A", "N", "G", "O"]
// 从数组创建字符串
// 字符串的字符之间用","分隔
var mystr1 = myArr.joined(separator: ",")
print("Array:", myArr)
print("String 1:", mystr1)
// 从数组创建字符串
// 不使用分隔符
var mystr2 = myArr.joined()
print("String 2:", mystr2)
输出
数组:["M", "A", "N", "G", "O"] 字符串 1:M,A,N,G,O 字符串 2:MANGO
示例 2
以下程序演示了如何从数字数组创建字符串
import Foundation
import Glibc
// 整数数组
var myArr = [34, 56, 78, 34, 56, 23]
// 从数组创建字符串
// 带分隔符
var mystr1 = myArr.map { String($0) }.joined(separator: "-")
print("数组:", myArr)
print("字符串 1:", mystr1)
// 从数组创建字符串
// 不带分隔符
var mystr2 = myArr.map { String($0) }.joined()
print("字符串 2:", mystr2)
输出
数组: [34, 56, 78, 34, 56, 23] 字符串 1: 34-56-78-34-56-23 字符串 2: 345678345623
在上面的代码中,我们有一个整数数组,因此要将数组转换为字符串,我们首先使用 map() 函数将整数数组转换为字符串数组,然后使用 join() 函数 -
var mystr1 = myArr.map { String($0) }.joined(separator: "-")
这里,map() 用于迭代字符串中的每个字符,$0 用于将每个字符转换为字符串,然后我们应用 join() 函数创建一个字符串。
示例
以下程序展示了如何从字符串数组创建字符串
import Foundation
import Glibc
// 字符串数组
var myArr = ["I", "Like", "Blue", "Sky"]
// 从数组创建字符串
// 带分隔符
var mystr1 = myArr.joined(separator: "-")
print("Array:", myArr)
print("String 1:", mystr1)
// 从数组创建字符串
// 不带分隔符
var mystr2 = myArr.joined()
print("String 2:", mystr2)
输出
数组:["I", "Like", "Blue", "Sky"] 字符串 1:I-Like-Blue-Sky 字符串 2:ILikeBlueSky
方法 2 - 使用 reduce() 函数
我们也可以使用内置的 reduce() 函数将数组转换为字符串。此函数将给定的字符串数组转换为字符串。或者,我们可以说此函数用于根据指定的闭包连接给定序列的元素。
语法
语法如下:-
array.reduce(initalVal, nextVal)
其中,initialVal 是闭包执行的第一个值。nextVal 是闭包本身。闭包也接受两个参数:初始值和序列中的当前值,操作在这两个值之间进行,直到集合结束。
示例
以下程序演示如何将数组转换为字符串。
import Foundation
import Glibc
// 字符串数组
var myArr = ["I", "Like", "Blue", "Sky"]
// 从数组创建字符串
var mystr1 = myArr.reduce("", +)
print("Array:", myArr)
print("String:", mystr1)
输出
数组:["I", "Like", "Blue", "Sky"] 字符串:ILikeBlueSky