2016-09-22 3 views
2

Я хочу искать назад в строке. Но все примеры, которые я нашел, не работают в текущем Swift 3.0. «.BackwardsSearch» не является опцией на моем XCode 8. Любая идея, как это можно сделать? Пример:Swift 3: Поиск по строкам назад

let rPos = rIndex(sourceString, searchString) 

или

let rPos = sourceString.rindex(of: searchString) 
+0

'статического вара назад: NSString.CompareOptions' с' диапазон Func (из aString: String, mask options: String.CompareOptions = default, range searchRange: Range ? = default, locale: Locale? = по умолчанию) -> Диапазон ? '? – Larme

ответ

3

XCode автозаполнения предложит это:

let rpos = sourceString.range(of:searchString, options:String.CompareOptions.backwards, range:nil, locale:nil) 

Однако диапазон и локаль имеют значения по умолчанию из ноль, так что вы можете опустить их:

let rpos = sourceString.range(of:searchString, options:String.CompareOptions.backwards) 

И options имеет типа String.CompareOptions поэтому вам нужна только последнюю часть:

let rpos = sourceString.range(of:searchString, options:.backwards) 

(Спасибо @MartinR для указывая укороченные версии)

+1

Или просто 'sourceString.range (из: searchString, options: .backwards)' –

+0

Спасибо! Возьмите это также. –

Смежные вопросы