1、采用 Array(str)、String(array) 方法

String转Character数组:Array(str) Character数组转String:String(array)

let test = "i like ios"

let array = Array(test) //[Character]

let string = String(array) //String

print(array)

print(string)

结果打印:

[“i”, " ", “l”, “i”, “k”, “e”, " ", “i”, “o”, “s”] i like ios

2、采用String.components(separatedBy: " ")、[String].joined(separator: " ")

String转[String]数组:String.components(separatedBy: " ") [String]数组转String:[String].joined(separator: " ")

let test = "i like ios"

let array = test.components(separatedBy: " ")

let intArray = [1,2,3,4,5]

let dataArray = intArray.map(String.init)

let resultString = dataArray.joined(separator: "")

print(array)

print(resultString)

结果打印:

[“i”, “like”, “ios”] 12345

3、采用String.index(吐槽一下:这api真不好用)

String获取指定index的Character:String[String.index] String根据index区间获取SubString:String(String[index_1...index_2])

let test = "i like ios"

let char_0 = test[test.index(test.startIndex, offsetBy: 0)]

let char_8 = test[test.index(test.startIndex, offsetBy: 8)]

let beginIndex = test.index(test.startIndex, offsetBy: 0)

let endIndex = test.index(test.startIndex, offsetBy: 8)

let subString = String(test[beginIndex...endIndex])

print(char_0)

print(char_8)

print(subString)

结果打印:

i o i like io

tips:

swift里的字符、字符串处理api比较多,在此记录几个经常使用的swift字符相关处理技巧

let charOfA = Character("A")

let uInt8Value = charOfA.asciiValue! //Character转UInt8

let char = Character(UnicodeScalar(uInt8Value)) //UInt8转Character

let intArray = [1,2,3,4,5,6]

let strArray = intArray.map(String.init) //[Int]转[String]

let str_Array = ["123","01","xx","000"]

let int_Array = str_Array.map(Int.init) //[String]转[Int?] 因为有的字符串无法转int,该index存在且为nil

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: