Как отделить строку в iPhone SDK - PullRequest
0 голосов
/ 02 мая 2011

Мне нужно получить строку, которая находится между (и).Например, у меня есть строка типа «имя (123)».Мне нужно получить значения 123, которые между (и).

Ответы [ 2 ]

2 голосов
/ 02 мая 2011
NSString *string = @"name(123)";
NSString *seperatorCharsString = @"()";
NSCharacterSet *seperatorCharSet = [NSCharacterSet characterSetWithCharactersInString:seperatorCharsString];
NSArray *components = [string componentsSeparatedByCharactersInSet:seperatorCharSet];
NSString *number = [components lastObject];
2 голосов
/ 02 мая 2011

Вы должны использовать регулярное выражение для извлечения в строку, вы можете сделать это с блоками и NSRegularExpression (начиная с iOS4.0)

Примерно так:

NSRegularExpression *reg = [NSRegularExpression regularExpressionWithPattern:@"\(.*?\))" options:NSRegularExpressionCaseInsensitive error:nil];

[reg enumerateMatchesInString:<YOUR_STRING> options:0 range:NSMakeRange(0, [<YOUR_STRING> length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){
    for (int i=0; i < match.numberOfRanges; i++) {
        NSRange range = [match rangeAtIndex:i];
        NSString *extractedString = [<YOUR_STRING> substringWithRange:range];
    }
}];

Надеюсь, это поможет, Винсент

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