我想弄清楚为什么以下工作在第一个字符串群集(字符),但不是第二个。也许endIndex不能应用于另一个字符串?斯威夫特3下标范围适用于第一个群集,但不适用于中间
let part = "A"
let full = "ABC"
print(full[part.startIndex ... part.startIndex]) // "A"
print(full[part.endIndex ... part.endIndex]) // "" <- ???
print(full[part.endIndex ... full.index(after: part.endIndex)]) // "B"
bSecond应该保持“B”,而是空的。但是一个字符串索引对另一个字符串索引的证明是最后一条语句有效。编号: 假设full.hasPrefix(part)为true。
斯威夫特拼图。
注意,在大多数情况下,你永远不应该下标给定的集合与另一个集合的指数。尽管有一些例外情况,例如切片和具有不重要索引的集合,例如'Array'。 – Hamish
准备写同样的东西:) - 用'let part =“”'你的代码会崩溃。 –
忘了提及。假设full.hasPrefix(part))为真... – jazzgil