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

开发 前端
本篇从十六个方面给大家介绍Swift5 字符串(String)操作,希望能够帮助到你!

[[402146]]

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 社区公众号。

 

责任编辑:姜华 来源: Swift 社区
相关推荐

2023-03-07 10:07:04

JavaScript字符串反斜杠

2021-07-03 10:02:30

Python字符串浏览器

2021-12-08 14:02:20

符串排列搜索

2021-05-27 08:59:09

String字符串操作

2021-11-29 08:49:37

字符串转换整数

2022-05-26 09:31:20

Java字符串

2021-03-11 10:00:32

Java字符串开发

2021-11-15 07:47:40

字符串位置存储

2020-12-29 09:05:48

基础DjangoORM

2021-01-05 09:07:30

Django ORMF查询Q查询

2023-04-20 08:00:00

ES搜索引擎MySQL

2021-05-20 06:57:16

RabbitMQ开源消息

2021-01-01 09:20:20

操作DjangoORM

2023-07-11 15:34:02

2021-06-16 08:28:25

unary 方法函数技术

2021-03-04 08:34:54

Java交换变量字符串基础

2020-10-23 08:17:29

HTML5MathML语言

2021-05-12 06:18:19

KubeBuilderOperatork8s

2021-05-18 05:40:27

kubebuilderwebhook进阶

2022-03-10 08:31:51

REST接口规范设计Restful架构
点赞
收藏

51CTO技术栈公众号