ios nsrange char с конца - PullRequest
       4

ios nsrange char с конца

1 голос
/ 02 февраля 2012

Допустим, у меня есть:

this - is an - example - with some - dashes

NSRange подхватит первый экземпляр "-" с помощью rangeOfString: @ "-", но что если я только хочупоследний?

Я ищу что-то похожее на lastIndexOf в JS. Спасибо!

Ответы [ 2 ]

6 голосов
/ 02 февраля 2012

Одним из параметров, которые вы можете передать [NSString rangeOfString: options:], является NSBackwardsSearch (который даст вам последний элемент в строке, на которую вы смотрите).

2 голосов
/ 02 февраля 2012

Есть еще один вариант метода rangeOfString:

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

Это позволяет вам указать диапазон для поиска внутри, чтобы вы могли в цикле найти каждый диапазон, а затем исключить его из диапазона поиска и повторить попытку, пока не будет найдено больше совпадений.

В зависимости от того, что вы пытаетесь сделать, вам может повезти с этим:

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

Это разделит вашу строку на каждую часть, которая была отделена @ "-", и вернет их в массиве - вы можете получить последний, используя [компоненты lastObject];

И еще один вариант - использовать NSScanner, который предназначен для зацикливания строки, захвата токенов по ходу работы.

...