import UIKit
var s = "abcdefg"
s.count //7
let index = s.index(s.startIndex, offsetBy: 4)
let s2 = s.prefix(2) // "ab"
let s3 = s.suffix(2) // "fg"
let s4 = s.prefix(upTo: index) // "abcd"
let startIndex = s.index(s.startIndex, offsetBy: 1)
let endIndex = s.index(s.startIndex, offsetBy: 5)
let s5 = s[startIndex...endIndex] // "bcdef"
let s6 = s[startIndex..<endIndex] // "bcde"
extension String {
//subscript(r: CountableClosedRange<Int>) -> String
subscript(bound: Range<Int>) -> String {
var lower = bound.lowerBound
var upper = bound.upperBound
if lower > upper {
(lower, upper) = (upper, lower)
}
if upper > self.count {
upper = self.count
}
let start = self.index(startIndex, offsetBy: lower)
let end = self.index(startIndex, offsetBy: upper)
let sub = self[start..<end]
return String(sub)
}
subscript(range: CountableRange<Int>) -> String {
let bound = Range(range.lowerBound..<range.upperBound)
return self[bound]
}
subscript(range: CountableClosedRange<Int>) -> String {
let bound = Range(range.lowerBound...range.upperBound)
return self[bound]
}
subscript(range: CountablePartialRangeFrom<Int>) -> String {
let start = self.index(startIndex, offsetBy: range.lowerBound)
let sub = self.suffix(from: start)
return String(sub)
}
subscript(range: PartialRangeThrough<Int>) -> String {
let end = self.index(startIndex, offsetBy: range.upperBound)
let sub = self.prefix(through: end)
return String(sub)
}
subscript(range: PartialRangeUpTo<Int>) -> String {
let end = self.index(startIndex, offsetBy: range.upperBound)
let sub = self.prefix(upTo: end)
return String(sub)
}
}
// Range<Int>
let r1 = Range(1...2) // Range(1..<3)
let s7 = s[r1] // "bc"
let s8 = s[Range(1..<2)] // "b"
let s9 = s[Range(1...1)] // "b"
let s10 = s[Range(1..<1)] // ""
// range: CountableRange<Int>
let s11 = s[1..<2] // "b"
let s12 = s[1...2] // "bc"
let s13 = s[1..<8] // "bcdefg"
let s14 = s[2...] // "cdefg"
let s15 = s[...4] // "abcde"
let s16 = s[..<4] // "abcd"
Swift 4 字符串截取簡單記錄
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 簡介 這是一個Swift語言教程,基于最新的iOS 9,Xcode 7.3和Swift 2.2,會為你介紹Swif...
- 首先要了解中文字符有多種編碼及各種編碼的特征。假設(shè)n為要截取的字節(jié)數(shù)。