我需要得到一个介于(和)之间的字符串。例如,我有一个像“name(123)”这样的字符串。我需要在(和)之间得到123的值。
答案 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];