3 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
測(cè)試Swift 4.2 / 4.1 / 4.0 / 3.0
使用String[Range<String.Index>]
下標(biāo),您可以獲得子字符串。您需要啟動(dòng)索引和最后一個(gè)索引來(lái)創(chuàng)建范圍,您可以按照以下方式執(zhí)行此操作
let str = "abcde"if let range = str.range(of: "cd") { let substring = str[..<range.lowerBound] // or str[str.startIndex..<range.lowerBound] print(substring) // Prints ab}else { print("String not present")}
如果沒(méi)有為此運(yùn)算符定義起始索引..<
,則采用起始索引。您也可以使用str[str.startIndex..<range.lowerBound]
而不是str[..<range.lowerBound]

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
在Swift 4中:
獲取字符串中的字符索引:
let str = "abcdefghabcd"
if let index = str.index(of: "b") {
print(index) // Index(_compoundOffset: 4, _cache: Swift.String.Index._Cache.character(1))
}
使用Swift 4從String創(chuàng)建SubString(前綴和后綴):
let str : String = "ilike"
for i in 0...str.count {
let index = str.index(str.startIndex, offsetBy: i) // String.Index
let prefix = str[..<index] // String.SubSequence
let suffix = str[index...] // String.SubSequence
print("prefix \(prefix), suffix : \(suffix)")
}
產(chǎn)量
prefix , suffix : ilike
prefix i, suffix : like
prefix il, suffix : ike
prefix ili, suffix : ke
prefix ilik, suffix : e
prefix ilike, suffix :
如果要生成2個(gè)索引之間的子字符串,請(qǐng)使用:
let substring1 = string[startIndex...endIndex] // including endIndex
let subString2 = string[startIndex..<endIndex] // excluding endIndex
- 3 回答
- 0 關(guān)注
- 494 瀏覽
添加回答
舉報(bào)