zl程序教程

您现在的位置是:首页 >  Javascript

当前栏目

一篇带你Swift5 字符串(String)操作

2023-03-09 22:09:04 时间

1. Swift 字符串创建

  1. // 类型推断 
  2. let str  = "Hello" 
  3. // 指定类型 
  4. let str1 : String = "Hello" 

2. Swift 字符串拼接

  1. let str1 : String = "Hello" 
  2. let str2 = "Hello" 
  3. print(str1 + "\n" + str2) 
  4. // 结果: 
  5. /** 
  6. Hello 
  7. Hello 
  8. */ 

3. Swift 字符串追加

  1. var str = "Hello" 
  2. str.append(" World"
  3. print(str) 
  4. // 结果: Hello World 

4. Swift 字符串格式化

  1. let str = String(3) 
  2. let str1 = String(5.0) 
  3. print(str, str1) 
  4. /** 
  5. 结果:3 5.0 
  6. */ 

  1. // 格式化 
  2. let str = String(format: "第%d课程", 1) 
  3. let str1 = String(format: "价格%f", 5.68) 
  4. print(str, str1) 
  5. // 结果:第1课程 价格5.680000 
  6. let str2 = String(format: "价格%.2f", 5.68) 
  7. print(str2) 
  8. // 结果:价格5.68 

5. Swift 获取字符串长度

  1. let str = String(format: "价格%.2f", 5.68) 
  2. // 获取长度 
  3. print(str.count
  4. // 结果:6 

6. Swift 判断字符串是否为空

  1. let str = "swift" 
  2. let str1 = "" 
  3. print(str.isEmpty) 
  4. // 结果:false 
  5. print(str1.isEmpty) 
  6. // 结果:true 

7. Swift 遍历字符串

  1. let str = "5.68" 
  2. for char in str { 
  3.     print(char
  4.     // 结果: 
  5.     /** 
  6.       5 
  7.       . 
  8.       6 
  9.       8 
  10.       */ 

8. Swift 字符串操作

8.1 获取首字符

  1. let str = "this" 
  2. print(str[str.startIndex]) 
  3. // 结果:t 

8.2 删除首字符

  1. var str = "ABC" 
  2. str.removeFirst() 
  3. // 等同于 str.remove(at: str.startIndex) 
  4. print(str) 
  5. // 结果: BC 

8.3 删除指定位置

  1. var str = "ABCDEFGH" 
  2. str.remove(at: str.index(str.startIndex, offsetBy: 2)) 
  3. print(str) 
  4. // 结果: ABDEFGH 

8.4 删除最后一个字符

  1. var str = "ABC" 
  2. str.removeLast() 
  3. // 等同于str.remove(at: str.index(str.endIndex, offsetBy: -1)) 
  4. print(str) 
  5. // 结果: AB 

8.5 删除所有内容

  1. var str = "ABCDEFGH" 
  2. str.removeAll() 

8.6 删除头尾指定位数内容

  1. var str = "ABCDEFGH" 
  2. str.removeFirst(2) 
  3. str.removeLast(2) 
  4. print(str) 
  5. // 结果:CDEF 

9. Swift 判断字符串相等

  1. let str1 : String = "Hello" 
  2. let str  = "Hello" 
  3. let str2 = "Hello world" 
  4.  
  5. // 需要知道大小 
  6. let isSame = str1.compare(str2) 
  7. // 枚举 ComparisonResult -1 0 1 
  8. print(isSame.rawValue) 
  9. // 结果: -1 
  10. print(str1.compare(str).rawValue) 
  11. // 结果: 0 
  12.  
  13. // 只需要知道内容是否相等 
  14. print(str1 == str) 
  15. // 结果: true 

10. Swift 判断字符串包含另一个字符串

  1. let str  = "Hello" 
  2. let str1 = "Hello world" 
  3. let rec = str1.contains(str) 
  4. print(rec) 
  5. // 结果: true 

11. Swift 字符串分割

  1. let str = "Hello world" 
  2. let arr = str.split(separator: " "
  3. print(arr) 
  4. // 结果: ["Hello""World"

12. Swift 数组拼接字符串

  1. let arr = ["Hello""World"
  2. let joined = arr.joined() 
  3. print(joined) 
  4. // 结果: HelloWorld 
  5.  
  6. let sepJoined = arr.joined(separator: "----"
  7. print(sepJoined) 
  8. // 结果: Hello----World 

13. Swift 字符串截取

  1. // 头部截取 
  2. let str = "asdfghjkl;'" 
  3. let str1 = str.prefix(2); 
  4. print(str1) 
  5. // 结果: as 
  6.    
  7. // 尾部截取   
  8. let str2 = str.suffix(3); 
  9. print(str2) 
  10. // 结果: l;' 
  11.  
  12. // range 截取 
  13. let index3 = str.index(str.startIndex, offsetBy: 3) 
  14. let index4 = str.index(str.startIndex, offsetBy: 5) 
  15. let str5 = str[index3...index4] 
  16. print(str5) 
  17. // 结果:fgh 
  18.  
  19. // 获取指定位置字符串 
  20. let range = str.range(of"jk")! 
  21. print(str[str.startIndex..<range.lowerBound]) 
  22. // 结果:asdfgh 
  23. print(str[str.startIndex..<range.upperBound]) 
  24. // 结果:asdfghjk 

14. Swift 字符串替换

  1. // 替换 
  2. let str = "all the world" 
  3. let str1 = str.replacingOccurrences(of"all"with"haha"
  4. print(str1) 
  5. // 结果: haha the world 

15. Swift 字符串插入

  1. var str = "ABCDEFGH" 
  2. // 单个字符 
  3. str.insert("X"at:str.index(str.startIndex, offsetBy: 6)) 
  4. print(str) 
  5. // 结果: ABCDEFXGH 
  6. // 多个字符 
  7. str.insert(contentsOf: "888"at: str.index(before: str.endIndex)) 
  8. print(str) 
  9. // 结果: ABCDEFXG888H 

 16. Swift 字符串删除某段内容

  1. var str = "ABCDEFGH" 
  2. let start = str.index(str.startIndex, offsetBy: 2) 
  3. let end = str.index(str.endIndex, offsetBy: -2) 
  4. str.removeSubrange(start...end
  5. print(str) 
  6. // 结果: ABH 

本文转载自微信公众号「Swift 社区」,可以通过以下二维码关注。转载本文请联系Swift 社区公众号。