//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: 方...