博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swift给String增加substring方法
阅读量:6688 次
发布时间:2019-06-25

本文共 724 字,大约阅读时间需要 2 分钟。

hot3.png

javascript中的 str.slice(1, -1)

在swift中要写成 str.substringFromIndex(str.startIndex.advancedBy(1), str.endIndex.advancedBy(-1)), 是不是很恐怖

幸运的是我们可以给swift内置类型增加任意的方法(好比在javascript的prototype上增加方法), 比如这里给String增加了substring方法, 如下

import Foundationvar s = "1234567890"// 扩展Stringextension 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
(start..

终于又可以愉快的玩耍了.

 

参考这里: http://www.swiftmi.com/topic/76.html (但是原文中不支持负数, 也不支持传递一个参数的情况)

转载于:https://my.oschina.net/uniquejava/blog/685221

你可能感兴趣的文章
我的友情链接
查看>>
再谈运维的本质是什么
查看>>
jQuery上传插件Uploadify出现Http Error 302错误解决
查看>>
粗心导致的错误 TNS-03505: Failed to resolve name
查看>>
JSP第三次课内容:JSP实现宠物店设计
查看>>
find详解
查看>>
xargs 和 exec
查看>>
Neutron - Automatic network mtu
查看>>
nodejs 定时调用shell脚本来备份数据库和日志文件并发送到邮箱
查看>>
Exchange 2016部署实施案例篇-01.架构设计篇(上)
查看>>
ajax传递json格式,spring MVC用对象接受
查看>>
AngularJs 指令directive之controller,link,compile
查看>>
线上处理Waiting for table metadata lock
查看>>
授之以渔-运维平台应用模块二(Vmware控制台篇)
查看>>
三对角矩阵
查看>>
判断是否是微信中打开网页
查看>>
单例模式的有缺点
查看>>
perl基础1
查看>>
chrome浏览器如何通过js判断是否安装了某扩展?
查看>>
奔驰的罪恶
查看>>