Cocoa 使用NSString中断NSString,获取用于中断/分离的字符串之后的所有内容

Cocoa 使用NSString中断NSString,获取用于中断/分离的字符串之后的所有内容,cocoa,nsstring,substring,Cocoa,Nsstring,Substring,我正试图从下面的NSString中找到DOE JOHN: IDCHK9898960101DL00300171DL1ZADOE,JOHN 我试图在1ZA上拆分字符串,因为这将是常量 以下是我迄今为止所尝试的,但它给了我与我所寻找的相反的结果: NSString *getTheNameOuttaHere = @"IDCHK9898960101DL00300171DL1ZADOE,JOHN"; // scan for "1ZA" NSString *separatorString = @"1Z

我正试图从下面的NSString中找到DOE JOHN:

IDCHK9898960101DL00300171DL1ZADOE,JOHN

我试图在
1ZA
上拆分字符串,因为这将是常量

以下是我迄今为止所尝试的,但它给了我与我所寻找的相反的结果:

 NSString *getTheNameOuttaHere = @"IDCHK9898960101DL00300171DL1ZADOE,JOHN";

 // scan for "1ZA"
 NSString *separatorString = @"1ZA";

 NSScanner *aScanner = [NSScanner scannerWithString:getTheNameOuttaHere];

 NSString *thingsScanned;

 [aScanner scanUpToString:separatorString intoString:&thingsScanned];

 NSLog(@"container: %@", thingsScanned);
输出:

container: IDCHK9898960101DL00300171DL
2010-04-26 16:50:58.496 [25694:a0f] element: IDCHK9898960101DL00300171DL
2010-04-26 16:50:58.497 [25694:a0f] element: DOE,JOHN

任何帮助都会很好!谢谢

由字符串分离的组件
工作得很好,请参见以下内容:

NSString *name = @"IDCHK9898960101DL00300171DL1ZADOE,JOHN";

// scan for "1ZA"
NSString *separatorString = @"1ZA";

NSArray *split = [name componentsSeparatedByString:separatorString];

for (NSString *element in split) {
    NSLog(@"element: %@", element);
}
输出:

container: IDCHK9898960101DL00300171DL
2010-04-26 16:50:58.496 [25694:a0f] element: IDCHK9898960101DL00300171DL
2010-04-26 16:50:58.497 [25694:a0f] element: DOE,JOHN
我会尝试使用:

较短:

[[getTheNameOuttaHere componentsSeparatedByString:@"1ZA"] lastObject];

谢谢你的回复!当我开始考虑使用字符串分隔的组件时,我有点盲目——认为它只能使用长度为1的字符串(即“,”,“;”,等等)——事实并非如此:如果有人回答正确,你可能应该在他们的回答中添加注释,并添加任何附加细节或结果,然后将其标记为正确,而不是重新写下他们的答案然后创造一个新的答案。。。在发布任何其他答案之前,我回答了自己的问题…检查时间戳(21:53<21:54)。。。我记下了保罗的回答。。。我喜欢一行。