So I have an NSString, lets say it: NSString *mainString = @"My Name is Andrew (I like computers)";
And I want remove everything from the "(" to the ")" from mainString. And I want to put everything in between the "()" into a subString.
For example:
NSString *mainString = @"My Name is Andr开发者_如何学JAVAew (I like computers)";
NSString *subString;
//The code I need help with
mainString = @"y Name is Andrew ";
subString = @"I like computers";
I hope this makes sense. It would really help me. Thanks in Advance. I've been playing with NSRange
and NSMutableStrings
but I'm having trouble. Thanks in advance.
int startPosition = [mainString rangeOfString:@"("].location + 1;
int endPosition = [mainString rangeOfString:@")"].location;
NSRange range = NSMakeRange(startPosition, endPosition - startPosition);
NSString *subString = [mainString substringWithRange:range];
and as darvids0n has mentioned in below comment:
mainString = [mainString substringToIndex:startPosition - 1]
This is probably an easier way:
NSString *mainString = @"My Name is Andrew (I like computers)";
NSString *subString;
NSArray *array = [mainString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"()"]];
mainString = [array objectAtIndex:0]; // "My Name is Andrew "
subString = [array objectAtIndex:1]; // "I like computers"
精彩评论