2016-09-22 88 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.CompareOptions =默認,範圍searchRange:範圍? =默認,區域設置:區域設置? = default) - > Range ?'? – 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(of:searchString,options:.backwards)' –

+0

謝謝!也採取這一點。 –