//swift 2.3之前可以使用
let hex = "112233"
//截取第二位到第四位
let greenHex = hex.substringWithRange(Range<String.Index>(start: hex.startIndex.advancedBy(2), end: hex.startIndex.advancedBy(4)))
但是swift3 會刪除 start...end方法 提示報錯 ('init(start:end:)' is deprecated: it will be removed in Swift 3. Use the '..<' operator)
在swift2.3可以使用
let myString = "112233"
截取第二到第四位
myString[myString.startIndex.advancedBy(2)..<myString.startIndex.advancedBy(4)]
//swift3
extension String.Index{
func successor(in string:String)->String.Index{
return string.index(after: self)
}
func predecessor(in string:String)->String.Index{
return string.index(before: self)
}
func advance(_ offset:Int, `for` string:String)->String.Index{
return string.index(self, offsetBy: offset)
}
}
//截取第二到第四位
let new = myString[myString.startIndex.advance(2, for: myString)..<myString.startIndex.advance(4, for: myString)]
extension String {
//截取需要的位數
func subString(begin:Int,end:Int) -> String {
if self.characters.count<begin || self.characters.count<end {
return ""
}
return self[self.startIndex.advance(begin, for: self)..<self.startIndex.advance(end, for: self)]
}
}
swift 字符串截取
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 截取某個字符串中的某個字符的前一段 例如,在一個含有 "?" 的字符串中,截取 "?" 之前的一段。 方法1: 方...