Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift查找所有出现的子字符串大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在Swift中有一个String类的扩展,它返回给定子字符串的第一个字母的索引. 任何人都可以帮助我做到这一点,它将返回所有出现的数组,而不仅仅是第一个? 谢谢. extension String { func indexOf(string : String) -> Int { var index = -1 if let range = self.rang
我在Swift中有一个String类的扩展,它返回给定子字符串的第一个字母的索引.

任何人都可以帮助我做到这一点,它将返回所有出现的数组,而不仅仅是第一个

谢谢.

extension String {
    func indexOf(string : String) -> Int {
        var index = -1
        if let range = self.range(of : string) {
            if !range.isEmpty {
                index = distance(from : self.startIndex,to : range.lowerBound)
            }
        }
        return index
    }
}@H_301_6@ 
 

例如,而不是返回值50我想像[50,74,91,103]

您只是继续推进搜索范围,直到找不到子字符串的更多实例:
extension String {
    func indicesOf(string: String) -> [Int] {
        var indices = [Int]()
        var searchStartIndex = self.startIndex

        while searchStartIndex < self.endIndex,let range = self.range(of: string,range: searchStartIndex..<self.endIndex),!range.isEmpty
        {
            let index = distance(from: self.startIndex,to: range.lowerBound)
            indices.append(index)
            searchStartIndex = range.upperBound
        }

        return indices
    }
}

let keyword = "a"
let html = "aaaa"
let indicies = html.indicesOf(string: keyword)
print(indicies) // [0,1,2,3]@H_301_6@

大佬总结

以上是大佬教程为你收集整理的Swift查找所有出现的子字符串全部内容,希望文章能够帮你解决Swift查找所有出现的子字符串所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: