前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >swift 3.0 基础练习 面向对象 类的扩展

swift 3.0 基础练习 面向对象 类的扩展

作者头像
gwk_iOS
发布2018-08-23 11:04:06
4670
发布2018-08-23 11:04:06
举报
文章被收录于专栏:coding...coding...

写在前面 弄了下个人站...防止内容再次被锁定...所有东西都在这里面 welcome~ 个人博客

要求 为NSString类添加split功能 为NSString类添加一个函数func split(splitStr: NSString)-> [NSString],split是把字符串以特定的字符或者字符串做为分割符将字符串分割的功能 (不用自带的分割功能)

代码语言:javascript
复制
extension NSString{
    
    //split是把字符串以特定的字符或者字符串做为分割符将字符串分割的功能
    func split(splitStr: NSString)-> [NSString] {
        
        //定义截取后的字符串
        var lastStr = self
        var res:[NSString] = []
        
        //遍历整个字符串,最坏的情况为 字符串全为同一个字符
        for _ in 0..<self.length {
 
            //获取splistStr在字符串中的位置
            let strRange = lastStr.range(of: splitStr as String)
            
            //判断长度 为0 则将截取后的字符串直接添加到结果数组中 
            //不为0 则继续截取
            if strRange.length != 0 {

                //从头一直截取到关键词
                let subStr = lastStr.substring(to: strRange.location)
                
                //添加到结果数组中
                res.append(subStr as NSString)
                
                //从关键词后开始截取
                lastStr = lastStr.substring(from: strRange.location + splitStr.length) as NSString
            }
            else{
                
                res.append(lastStr)
                //返回没有空值的结果
                return removeNullValue(str: res)
            }
        }
        return []
    }
    
    //移除空元素
    func removeNullValue(str:[NSString]) -> [NSString] {
        var res:[NSString] = []
        for i in 0..<str.count {
            if str[i] != "" {
                res.append(str[i])
            }
        }
        return res
    }
}

来测试下代码

代码语言:javascript
复制
var str = "helloaooaaaaaorld"

var result = str.split(splitStr: "ao")

print("result =  ",result)

exten.png

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.12.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档