Извлечь значения в скобках из NSString - PullRequest
6 голосов
/ 29 марта 2010

У меня есть строка NSString, которая будет что-то вроде «xxxx (yyyyy)», где x и y могут быть любым символом. Я хотел бы извлечь только Y из скобок. Мне удалось извлечь x с помощью NSScanner, но я не нашел правильный способ извлечь y.

Ответы [ 4 ]

16 голосов
/ 30 марта 2010

Просто чтобы быть полным:

Если вы абсолютно уверены в формате вашего вывода, вы можете использовать методы массива:

NSString *inputString; // this is in the form "xxxx(yyyy)"

NSCharacterSet *delimiters = [NSCharacterSet characterSetWithCharactersInString:@"()"];
NSArray *splitString = [inputString componentsSeparatedByCharactersInSet:delimiters];

NSString *xString = [splitString objectAtIndex:0];
NSString *yString = [splitString objectAtIndex:1];

Конечно, вы должны быть уверены, что символы-разделители не существуют в inputString

5 голосов
/ 29 марта 2010

Сканирование до ‘(’, затем , сканирование , затем сканирование до ')'. Результат последнего сканирования: yyyy.

5 голосов
/ 29 марта 2010

Самый простой способ - использовать RegExKit:

http://regexkit.sourceforge.net/

Тогда вы бы сделали что-то вроде:

[@"xxxx(yyyyy)" getCapturesWithRegexAndReferences:@"\\((.*)\\)",@"$1", &extractedString,nil];

и extractString будет содержать все, что было в скобках.

1 голос
/ 29 марта 2010

вы можете взглянуть на PKTokenizer в ParseKit:

http://parsekit.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...