美文网首页ios学习之路iOS-swift
swift 3.0 基础练习 面向对象 类的扩展

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

作者: gwk_iOS | 来源:发表于2016-12-15 00:44 被阅读48次

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

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

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
    }
}

来测试下代码

var str = "helloaooaaaaaorld"

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

print("result =  ",result)
exten.png

相关文章

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

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

  • swift 3.0 基础练习 面向对象 类

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

  • Swift中类的定义

    Swift中类的定义 Swift也是一门面向对象开发的语言 面向对象的基础是类,类产生了对象 在Swift中如何定...

  • Swift3.x - 类和结构体

    类的介绍和定义 Swift也是一门面向对象的开发语言。 面向对象的基础就是类,类产生对象。 Swift如何定义类:...

  • 接上面的基础语法(Swift中类的使用)

    类的介绍和定义 1.Swift 也是面向对象的语言,面向对象的基础是类,类产生的对象,那么Swift中如何定义类呢...

  • swift语言(swift3.0)基础知识(三)

    1、类的定义 1.1 Swift也是一门面向对象开发的语言。面向对象的基础是类,类产生了对象。 在Swift中如何...

  • 13-Swift中的类

    一、类的介绍和定义 Swift也是一门面向对象开发的语言,面向对象的基础是类,类产生了对象; 在Swift中定义类...

  • swift基础语法(十一)——类

    介绍 Swift也是一门面向对象开发的语言 面向对象的基础是类,类产生了对象 在Swift中定义类:class是S...

  • 12-Swift中类的定义

    类的介绍 Swift也是一门面向对象开发的语言 面向对象的基础是类,类产生了对象 在Swift中如何定义类呢?cl...

  • Swift中类的使用

    一. 类的介绍和定义 Swift也是一门面向对象开发的语言面向对象的基础是类,类产生了对象在Swift中如何定义类...

网友评论

    本文标题:swift 3.0 基础练习 面向对象 类的扩展

    本文链接:https://www.haomeiwen.com/subject/luuwmttx.html