如何在iPhone sdk中分隔字符串

时间:2011-05-02 10:32:42

标签: iphone ios4 nsstring

我需要得到一个介于(和)之间的字符串。例如,我有一个像“name(123)”这样的字符串。我需要在(和)之间得到123的值。

2 个答案:

答案 0 :(得分:2)

您应该使用正则表达式提取到字符串,您可以使用块和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];
    }
}];

希望这有帮助, 文森特

答案 1 :(得分:2)

NSString *string = @"name(123)";
NSString *seperatorCharsString = @"()";
NSCharacterSet *seperatorCharSet = [NSCharacterSet characterSetWithCharactersInString:seperatorCharsString];
NSArray *components = [string componentsSeparatedByCharactersInSet:seperatorCharSet];
NSString *number = [components lastObject];