swift中字符串String的扩展(一)

本片文章只对String字符串做了一些简单扩展,目的是简化截取字符传中的某个字符或者某段字符串。文章末尾附上自己的一个小Demo

1.获取某个索引位置的字符

以下两个方法是从前往后查询某个索引对应的字符

	/// 获取字符串某个索引的字符(从前往后)
    /// - Parameter index: 索引值 是从0开始算的
    /// - Returns: 处理后的字符串
    func getCharAdvance(index: Int) -> String {
        assert(index < self.count, "哦呵~ 字符串索引越界了!")
        let positionIndex = self.index(self.startIndex, offsetBy: index)
        let char = self[positionIndex]
        return String(char)
    }
    
    /// 获取字符串第一个字符
    /// - Returns: 处理后的字符串
    func getFirstChar() -> String {
        return getCharAdvance(index: 0)
    }

以下两个方法是从后往前查询某个索引对应的字符

	/// 获取字符串某个索引的字符(从后往前)
    /// - Parameter index: 索引值
    /// - Returns: 处理后的字符串
    func getCharReverse(index: Int) -> String {
        assert(index < self.count, "哦呵~ 字符串索引越界了!")
        //在这里做了索引减1,因为endIndex获取的是 字符串最后一个字符的下一位
        let positionIndex = self.index(self.endIndex, offsetBy: -index - 1)
        let char = self[positionIndex]
        return String(char)
    }
    
    /// 获取字符串最后一个字符
    /// - Returns: 处理后的字符串
    func getLastChar() -> String {
        return getCharReverse(index: 0)
    }
2.获取字符串中某段字符串
	/// 获取某一串字符串按索引值
    /// - Parameters:
    ///   - start: 开始的索引
    ///   - end: 结束的索引
    /// - Returns: 处理后的字符串
    func getString(startIndex: Int, endIndex: Int) -> String {
        let start = self.index(self.startIndex, offsetBy: startIndex)
        let end = self.index(self.startIndex, offsetBy: endIndex)
        return String (self[start ... end])
    }
    
    /// 获取某一串字符串按数量
    /// - Parameters:
    ///   - startIndex: 开始索引
    ///   - count: 截取个数
    /// - Returns: 处理后的字符串
    func getString(startIndex: Int, count: Int) -> String {
        return getString(startIndex: startIndex, endIndex: startIndex + count - 1)
    }
    
    /// 截取字符串从某个索引开始截取
    /// - Parameter startIndex: 开始索引
    /// - Returns: 截取后的字符串
    func subStringFrom(startIndex: Int) -> String {
        return getString(startIndex: startIndex, endIndex: self.count - 1)
    }
    
    /// 截取字符串(从开始截取到想要的索引位置)
    /// - Parameter endIndex: 结束索引
    /// - Returns: 截取后的字符串
    func subStringTo(endIndex: Int) -> String {
        return getString(startIndex: 0, endIndex: endIndex)
    }

好了,本片文章就先分享到这里,有兴趣的同学可以查看Demo,如果您喜欢,别忘了给个Star哟,我也会不定期更新一些比较实用的String扩展。欢迎大家给我留言,说说您们自己的看法,我们一起进步,大家加油!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值