Iphone 删除NSString的一部分并将其复制到另一个NSString中

Iphone 删除NSString的一部分并将其复制到另一个NSString中,iphone,objective-c,nsstring,substring,nsrange,Iphone,Objective C,Nsstring,Substring,Nsrange,所以我有一个NSString,可以这样说:NSString*mainString=@“我的名字是安德鲁(我喜欢计算机)” 我想把主环上的所有东西都去掉。我想把“()”之间的所有内容都放到一个子字符串中 例如: NSString *mainString = @"My Name is Andrew (I like computers)"; NSString *subString; //The code I need help with mainString = @"y Name is Andre

所以我有一个NSString,可以这样说:
NSString*mainString=@“我的名字是安德鲁(我喜欢计算机)”
我想把主环上的所有东西都去掉。我想把“()”之间的所有内容都放到一个子字符串中

例如:

NSString *mainString = @"My Name is Andrew (I like computers)";
NSString *subString;

//The code I need help with

mainString = @"y Name is Andrew ";
subString = @"I like computers";
我希望这是有道理的。这对我真的很有帮助。提前谢谢。我一直在玩
NSRange
NSMutableStrings
,但我遇到了麻烦。提前谢谢

int startPosition = [mainString rangeOfString:@"("].location + 1;
int endPosition   = [mainString rangeOfString:@")"].location;

NSRange range = NSMakeRange(startPosition, endPosition - startPosition);

NSString *subString = [mainString substringWithRange:range];
正如darvids0n在以下评论中提到的:

    mainString = [mainString substringToIndex:startPosition - 1]

这可能是一种更简单的方法:

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"

然后
string=[string substringToIndex:startPosition-1]
。不,我们创建的范围将处理“)”。所以substringtoindex:在这里不是必需的,非常感谢。我刚刚意识到我可能已经第十次使用这个代码了。它真的帮助了我