2012-02-02 73 views
1

比方說,我有:IOS nsrange焦炭從結束

this - is an - example - with some - dashes

NSRange將拿起的第一個實例「 - 」用`rangeOfString:@「 - 」但如果我只希望最後一個?

我正在尋找類似於JSlastIndexOf的工作原理。 謝謝!

回答

2

還有的rangeOfString方法的另一種變體:

- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange 

這讓你指定一個範圍內搜索,所以你可以在一個循環找到每個範圍,然後從搜索範圍中排除,然後再試一次直到沒有更多的比賽。

取決於你正在嘗試做的,你可能會使用更幸運的:

NSArray *components = [string componentsSeparatedByString:@" - "]; 

這將您的字符串分割成,是由一個分隔每個部分@「 - 」,並在歸還數組 - 然後您可以使用[components lastObject]獲取最後一個;

還有一種選擇是使用NSScanner,它是專爲循環一個字符串而設計的,隨時隨地抓取令牌。