StringIndex 1.2.0

StringIndex 1.2.0

John Holdsworth 维护。



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)...]

所有下标运算符都已定义了设置器,因此您可以修改字符串内容。