swift 字符串自定义下标截取和赋值

extension String{//字符串截取

    ///读取某个下标字符

    subscript(index:Int)->String{

        get{//读取

            let idx =self.index(self.startIndex, offsetBy: index)

            return String(self[idx])

        }

        set{//修改

            self.remove(at:self.index(self.startIndex, offsetBy: index))

            let new = newValue

            for i in 0..<new.count {

                let character =Character(new[i])

                let idx =self.index(self.startIndex, offsetBy: index+i)

                self.insert(character, at: idx)

            }

        }

    }

    ///读取闭区间字符串

    subscript(rang: ClosedRange<Int>) ->String{

        let range =self.index(startIndex, offsetBy: rang.lowerBound)...self.index(startIndex, offsetBy: rang.upperBound)

        return String(self[range])

    }

    ///读取开区间字符串

    subscript(rang:Range) ->String{

        let range =self.index(startIndex, offsetBy: rang.lowerBound)..<self.index(startIndex, offsetBy: rang.upperBound)

        return String(self[range])

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容