I have an NSString that will be something like "xxxx (yyyyy)" where x and y can be any character. I'd like to extract just the y from inside the parenthesis. I managed to extract the x using a NSScanner but I haven't figured out the proper way to extract out the y.
+5
A:
Easiest way would be to use RegExKit:
http://regexkit.sourceforge.net/
Then you'd do something like:
[@"xxxx(yyyyy)" getCapturesWithRegexAndReferences:@"\\((.*)\\)",@"$1", &extractedString,nil];
and extractedString would contain whatever was in parenthesis.
Wade Williams
2010-03-29 00:06:32
+3
A:
Scan up to the ‘(’, then scan it, then scan up to the ')'. The result of the last scan is yyyy
.
Peter Hosey
2010-03-29 01:37:18
A solution without regex! Hear, hear!
codewarrior
2010-03-29 09:31:15
A:
Just to be complete:
If you are absolutely sure of the format of your output you can use the array methods:
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 ojbectAtIndex:1];
Of course, you need to be sure that the delimiting characters don’t exist in the inputString
Abizern
2010-03-30 13:05:40