[swift-corelibs-dev] index indexes and ranges of String
Carlos García
carlosypunto at gmail.com
Sat Dec 31 13:53:20 CST 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20161231/2a7520fe/attachment.html>
More information about the swift-corelibs-dev
mailing list