Как извлечь конкретное предложение из строки, используя NSRange?

Это мой код:

regex.enumerateMatchesInString(parsingMemo.string, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, parsingMemo.length), usingBlock: { (match: NSTextCheckingResult?,_, _) -> Void in
let trange = match!.rangeAtIndex(0)
let range = Range(start: trange.location, end: trange.length)
var insideString: String = parsingMemo.string.substringWithRange(NSMakeRange(trange.location,trange.length) 

Код дает мне следующую ошибку:

Невозможно преобразовать значение типа "NSRange" (он же "_NSRange") в ожидаемый тип аргумента "Range" (он же "Range")

Как я могу исправить свой код?

1 ответ

Вам нужно конвертировать NSRange что вы были даны в Swift Range, Примерно так должно работать:

let start = parsingMemo.string.characters.startIndex.advancedBy(trange.location)
let end = start.advancedBy(trange.length)

var insideString: String = parsingMemo.string.substringWithRange(start..<end) 
Другие вопросы по тегам