Swift学习12:获取子串和字符串比较

张建 lol

子字符串

  • 使用下标或者类似 prefix(_:) 的方法得到的子字符串是 Substring 类型

  • Substring 拥有 String 的大部分方法

  • Substring 可以转成 String 类型

1
2
3
4
let str = "hello,world"
let index = str.firstIndex(of: ",") ?? str.endIndex
let begin = str[..<index]
let new = String(begin)

  • 子字符串重用一部分原字符串的内存

  • 修改字符串或子字符串之前都不需要花费拷贝内存的代价

  • StringSubstring 都遵循 StringProtocol 协议,也就是说它基本上都能很方便的兼容所有接受 StringProtocol 值的字符串操作函数

字符串的比较

  • 字符串和字符相等性 ==!=

  • 前缀相等性 hasPrefis(_:)

  • 后缀相等性 hasSubffix(_:)

1
2
3
4
5
var str1 = "1"
var str2 = "2"
print(str1 == str2)
print(str1.hasPrefix("1"))
print(str2.hasSuffix("2"))

  • Post title:Swift学习12:获取子串和字符串比较
  • Post author:张建
  • Create time:2023-02-22 02:59:39
  • Post link:https://redefine.ohevan.com/2023/02/22/Swift课程/Swift学习12:获取子串和字符串比较/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
On this page
Swift学习12:获取子串和字符串比较