比方說,我有:IOS nsrange焦炭從結束
this - is an - example - with some - dashes
NSRange
將拿起的第一個實例「 - 」用`rangeOfString:@「 - 」但如果我只希望最後一個?
我正在尋找類似於JS
中lastIndexOf
的工作原理。 謝謝!
比方說,我有:IOS nsrange焦炭從結束
this - is an - example - with some - dashes
NSRange
將拿起的第一個實例「 - 」用`rangeOfString:@「 - 」但如果我只希望最後一個?
我正在尋找類似於JS
中lastIndexOf
的工作原理。 謝謝!
你可以傳遞給[NSString rangeOfString: options:]
的選項之一是NSBackwardsSearch(它會給你你正在查看的字符串的最後一項)。
還有的rangeOfString方法的另一種變體:
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange
這讓你指定一個範圍內搜索,所以你可以在一個循環找到每個範圍,然後從搜索範圍中排除,然後再試一次直到沒有更多的比賽。
取決於你正在嘗試做的,你可能會使用更幸運的:
NSArray *components = [string componentsSeparatedByString:@" - "];
這將您的字符串分割成,是由一個分隔每個部分@「 - 」,並在歸還數組 - 然後您可以使用[components lastObject]獲取最後一個;
還有一種選擇是使用NSScanner,它是專爲循環一個字符串而設計的,隨時隨地抓取令牌。