Delete the NSString part and copy it to another NSString

So, I have NSString, let's say this: NSString *mainString = @"My Name is Andrew (I like computers)"; And I want to remove everything from "(" to ")" from mainString. And I want to put everything between "()" in a substring.

For instance:

 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"; 

Hope this makes sense. That would really help me. Thank you in advance. I played with NSRange and NSMutableStrings , but I have problems. Thanks in advance.

+4
source share
2 answers

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" 
+7
source
 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 mentioned in a comment below:

  mainString = [mainString substringToIndex:startPosition - 1] 
+9
source

Source: https://habr.com/ru/post/1369605/


All Articles