Извлечение оценивает между круглой скобкой от NSString

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

6
задан Ternary 28 March 2010 в 23:12
поделиться

4 ответа

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

http://parsekit.com

1
ответ дан 8 December 2019 в 03:52
поделиться

Для полноты:

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

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

16
ответ дан 8 December 2019 в 03:52
поделиться

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

http://regexkit.sourceforge.net/

Затем вы должны сделать что-то вроде:

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

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

5
ответ дан 8 December 2019 в 03:52
поделиться

Отсканируйте до "(", затем отсканируйте его , затем отсканируйте до ")". Результат последнего сканирования - гггг .

5
ответ дан 8 December 2019 в 03:52
поделиться