Я хочу извлечь подстроки из строки, соответствующей шаблону регулярного выражения.
Итак, я ищу что-то вроде этого:
func matchesForRegexInText(regex: String!, text: String!) -> [String] {
???
}
Итак, это то, что у меня есть:
func matchesForRegexInText(regex: String!, text: String!) -> [String] {
var regex = NSRegularExpression(pattern: regex,
options: nil, error: nil)
var results = regex.matchesInString(text,
options: nil, range: NSMakeRange(0, countElements(text)))
as Array<NSTextCheckingResult>
/// ???
return ...
}
Проблема заключается в том, что matchesInString
предоставляет мне массив NSTextCheckingResult
, где NSTextCheckingResult.range
имеет тип NSRange
.
NSRange
несовместим с Range<String.Index>
, поэтому он не позволяет мне использовать text.substringWithRange(...)
Любая идея, как добиться этой простой вещи в быстром без слишком много строк кода?