从NSString获取子字符串,直到到达特定单词

Guy*_*her 18 xcode objective-c ios

让我们说我有这个NSString:@"Country Address Tel:number".如何获取之前的子字符串Tel?(国家地址)然后我该如何获取后面的子字符串Tel?(数)

zap*_*aph 28

使用NSScanner:

NSString *string = @"Country Address Tel:number";
NSString *match = @"tel:";
NSString *preTel;
NSString *postTel;

NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:match intoString:&preTel];

[scanner scanString:match intoString:nil];
postTel = [string substringFromIndex:scanner.scanLocation];

NSLog(@"preTel: %@", preTel);
NSLog(@"postTel: %@", postTel);
Run Code Online (Sandbox Code Playgroud)

NSLog输出:

preTel:国家地址
postTel:number


Ami*_*hah 23

最简单的方法是,如果你知道分隔符,(如果它总是:)你可以使用这个:

NSArray *substrings = [myString componentsSeparatedByString:@":"];
NSString *first = [substrings objectAtIndex:0];
NSString *second = [substrings objectAtIndex:1];
Run Code Online (Sandbox Code Playgroud)

将你的字符串分成两部分,并为每个子字符串提供数组