swift给String增加substring方法
发布时间:2020-12-14 06:56:34 所属栏目:百科 来源:网络整理
导读:javascript中的 str.slice(1,-1) 在swift中要写成 str.substringFromIndex(str.startIndex.advancedBy(1),str.endIndex.advancedBy(-1)),是不是很恐怖 幸运的是我们可以给swift内置类型增加任意的方法(好比在javascript的prototype上增加方法),比如这里给Str
javascript中的 str.slice(1,-1) 在swift中要写成 str.substringFromIndex(str.startIndex.advancedBy(1),str.endIndex.advancedBy(-1)),是不是很恐怖 幸运的是我们可以给swift内置类型增加任意的方法(好比在javascript的prototype上增加方法),比如这里给String增加了substring方法,如下 import Foundation var s = "1234567890" // 扩展String extension String { func substring(s: Int,_ e: Int? = nil) -> String { let start = s >= 0 ? self.startIndex.advancedBy(s) : self.endIndex.advancedBy(s) let end = e == nil ? self.endIndex : e >= 0 ? self.startIndex.advancedBy(e!) : self.endIndex.advancedBy(e!) let range = Range<String.Index>(start..<end) return self.substringWithRange(range) } } print(s.substring(0,-1)) // 打印前n-1个字符: 123456789 print(s.substring(-2)) // 打印最后两个字符: 90 print(s.substring(-3,-2)) // 打印倒数第3个字符: 8 终于又可以愉快的玩耍了. 参考这里:http://www.swiftmi.com/topic/76.html (但是原文中不支持负数,也不支持传递一个参数的情况) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |