美文网首页swift4.0
Swift4.0 string/// 在指定字符串第一次搜索结果

Swift4.0 string/// 在指定字符串第一次搜索结果

作者: 279cb620c509 | 来源:发表于2018-05-18 18:23 被阅读80次

Swift4.0 string/// 在指定字符串第一次搜索结果位置前/后插入字符串

extension String {

    func positionOf(sub:String, backwards:Bool)->Int {

        var pos = -1

        guard let inde  = self.range(of: sub)?.upperBound else {

            return pos

        }

        if backwards {

            pos = (self.range(of: sub)?.upperBound.encodedOffset)!

        }else{

            pos = (self.range(of: sub)?.lowerBound.encodedOffset)!

        }

        return pos

    }

    /// 在指定字符串第一次搜索结果位置前/后插入字符串

    ///

    /// - Parameters:

    ///  - sub: 指定字符串

    ///  - inserSourceStr: 插入字符串

    /// - Returns: 字符串,为查询到sub返回self

    func insertStr(_ sub:String,_ inserSourceStr:String,_ backwards:Bool = true)  -> String {

        let position = self.positionOf(sub: sub, backwards: backwards)

        if position < 0 {

            return self

        }

        let insertindex = self.index(self.startIndex, offsetBy: position)

        var returnStr  = self

        returnStr.insert(contentsOf: inserSourceStr, at: insertindex)

        return returnStr

    }

}

直接copy即可使用

相关文章

网友评论

    本文标题:Swift4.0 string/// 在指定字符串第一次搜索结果

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