Swfit3.0关于String串操作最搞是的坐标索引变了,不能用原来的int直接定位
看一下,前后变化,以一个截取rgb字符串代码为例:
swift2.3的写法:
----------------------------------------------
letredStr = (StrasNSString).substringToIndex(2)
letgreenStr = ((StrasNSString).substringFromIndex(2)asNSString).substringToIndex(2)
letblueStr = ((StrasNSString).substringFromIndex(4)asNSString).substringToIndex(2)
而swift 3.0的写法:
---------------------------------------------------
letredStr =
Str[Str.startIndex...Str.index(Str.startIndex,offsetBy:1)]
letgreenStr =
Str[Str.index(Str.startIndex, offsetBy:2)...Str.index(Str.startIndex, offsetBy:3)]
letblueStr =
Str[Str.index(Str.startIndex, offsetBy:4)...Str.index(Str.startIndex, offsetBy:5)]
-----------------------------------------------------
索引全部要用
串名.index(串名.startindex,offsetBy:偏离数)
串名.index(串名.endindex,offsetBy:偏离数)
如果比较长可以先用let fromindex:String.index=Str.index(Str.startIndex, offsetBy:3) 的试再解析出索引值 ,再放到截取方法中 ,这样可读性更强
网友评论