StringIndex - Swift 字符串的合理索引
这是一个实验性包,用于研究解决办法来解决 Swift 的悲惨字符串索引问题。目前,您必须进行以下难忘的舞蹈,才能获取 String
的第 5 个字符
let fifthChar: Character = str[str.index(str.startIndex, offsetBy: 4)]
此包为 String.Index
类型定义了加法和减法运算符,返回一个临时枚举,该枚举传达了偏移量和索引,以便在 StringProtocol
上的索引运算符中使用,并且当它知道被索引的字符串时,会惰性地前进偏移量。结果是,您现在可以通过以下方式获得相同的结果
let fifthChar: Character = str[.start+4]
还定义了范围运算符和下标,因此您可以使用以下方式例如删除字符串的首尾字符
let trimmed: Substring = str[.start+1 ..< .end-1]
或者您可以在 String
中搜索一个 Character
let firstWord: Substring = str[..<(.first(of:" "))]
let lastWord: Substring = str[(.last(of: " ")+1)...]
所有下标运算符都已定义了设置器,因此您可以修改字符串内容。