• Swift4 字符串截取-超级简单用法


    先介绍一下Swift String 自身的方法,后面介绍简单的使用方法

    1、截取前面5个字符

    let substr = string.prefix(5)

    2、截取后面5个字符

    let substr = string.suffix(5)

    3、获取下标 N 到 M 的字符(0 <= N < M <= string.count)

    // let string = "12345678" 
    
    let indexN = string.index(str.startIndex, offsetBy: n)
    let indexM = string.index(str.startIndex, offsetBy: m)
    let substr = string[indexN..<indexM]
    
    // 当 n = 1, m = 3 ;  substr = "23"

    下面介绍String截取的简单使用方式,需要使用extension来实现

    先看看效果

    let str = "1234567890"
    
    let str1 = str[6]    // 获取某一个下标的字符串
    print(str1)  // 7
    
    let str2 = str[2..<6]   // 获取下标 n到m的字符串 0 <= n < m <= str.count
    print(str2)    // 3456
    
    let str3 = str[2,6]     // 获取下标n 长度len 的字符串 
    print(str3)    // 345678
    
    let str4 = str.substring(to: 5)   //从 0 到 n个 ,也就是前面n个字符
    print(str4)    // 12345
    
    let str5 = str.substring(from: 5) // 从 n 到 尾
    print(str5)    // 67890

    这样用是不是非常方便呢,下面看看实现extension

    // MARK: - 字符串截取
    extension String {
        /// String使用下标截取字符串
        /// string[index] 例如:"abcdefg"[3] // c
        subscript (i:Int)->String{
            let startIndex = self.index(self.startIndex, offsetBy: i)
            let endIndex = self.index(startIndex, offsetBy: 1)
            return String(self[startIndex..<endIndex])
        }
        /// String使用下标截取字符串
        /// string[index..<index] 例如:"abcdefg"[3..<4] // d
        subscript (r: Range<Int>) -> String {
            get {
                let startIndex = self.index(self.startIndex, offsetBy: r.lowerBound)
                let endIndex = self.index(self.startIndex, offsetBy: r.upperBound)
                return String(self[startIndex..<endIndex])
            }
        }
        /// String使用下标截取字符串
        /// string[index,length] 例如:"abcdefg"[3,2] // de
        subscript (index:Int , length:Int) -> String {
            get {
                let startIndex = self.index(self.startIndex, offsetBy: index)
                let endIndex = self.index(startIndex, offsetBy: length)
                return String(self[startIndex..<endIndex])
            }
        }
        // 截取 从头到i位置
        func substring(to:Int) -> String{
            return self[0..<to]
        }
        // 截取 从i到尾部
        func substring(from:Int) -> String{
            return self[from..<self.count]
        }
        
    }
  • 相关阅读:
    科技部:中国131家独角兽企业 名单文字版
    Application_Start事件中用Timer做一个循环任务
    HttpRuntime.Cache再学习
    USB 3.0规范中译本 第10章 集线器,主机下行口以及设备上行口规范
    Vue.js 入门教程
    用python爬了自己的微信,原来好友都是这样的!
    小白到大神,Python 密集知识点汇总
    如何处理JS,css与smarty标签的冲突
    全新 Kali Linux 系统安装指南
    xshell连接centos与ubuntu
  • 原文地址:https://www.cnblogs.com/qq9070/p/10271009.html
Copyright © 2020-2023  润新知