Cocoa 使用NSString中断NSString,获取用于中断/分离的字符串之后的所有内容
我正试图从下面的NSString中找到DOE JOHN: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
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)。。。我记下了保罗的回答。。。我喜欢一行。