我想弄清楚爲什麼以下工作在第一個字符串羣集(字符),但不是第二個。也許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