获取不将表情符号统计为一个字符ios的子字符串的起始位置

时间:2017-04-14 13:49:57

标签: ios swift string range substring

我正在尝试查找字符串中子字符串的起始位置。它只返回正确的索引,如果它只是没有任何表情符号的字符。但是,当使用像表情符号这样的特殊字符时,返回的索引不正确。我想把每个表情符号或角色都算作一个角色。这是我的代码:

extension String {
    func index(of string: String, options: CompareOptions = .literal) -> Index? {
        return range(of: string, options: options)?.lowerBound
    }
    func indexes(of string: String, options: CompareOptions = .literal) -> [Index] {
        var result: [Index] = []
        var start = startIndex
        while let range = range(of: string, options: options, range: start..<endIndex) {
            result.append(range.lowerBound)
            start = range.upperBound
        }
        return result
    }
}

有什么建议吗?谢谢!

0 个答案:

没有答案