Hi, I think this is important enough and useful for we to be in the core standard library
extension String { func index(of string: String, options: String.CompareOptions = .literal) -> String.Index? { return range(of: string, options: options)?.lowerBound } func indexes(of string: String, options: String.CompareOptions = .literal) -> [String.Index] { var result: [String.Index] = [] var start = startIndex while let range = range(of: string, options: options, range: start..<endIndex) { result.append(range.lowerBound) start = range.upperBound } return result } func ranges(of string: String, options: String.CompareOptions = .literal) -> [Range<String.Index>] { var result: [Range<String.Index>] = [] var start = startIndex while let range = range(of: string, options: options, range: start..<endIndex) { result.append(range) start = range.upperBound } return result } } Source is not mine, I’ve found here: http://stackoverflow.com/a/32306142/4550651 Best and happy 2017 Carlos García
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev