Łatwo zrobić za pomocą wyrażeń regularnych (chciwy):
NSError *error = NULL;
NSString *stringToBeReplaced = @"Hello (my name is) John";
NSString *regexString = @"\\(.*\\)";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexString options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:stringToBeReplaced options:0 range:NSMakeRange(0, [stringToBeReplaced length]) withTemplate:@""];
// Greedy means it will match "My name (is John) (Jobs)." => "My name ."
Dla non-chciwych regularnego stosowania ekspresji:
NSString *regex = @"\\(.*?\\)";
Sprawdź http://stackoverflow.com/questions/2493153/search-for-a-string-between- two-known-strings – savner
Po prostu znajdź indeks znaków '(' i ')' i usuń wszystko pomiędzy (hej, to jest po prostu to, o co prosiłeś). –
Prawdopodobnie będziesz musiał użyć jakiegoś rekursji, jeśli nawiasy mogą być osadzone w sobie nawzajem. –