开发者

Break NSString using an NSString, get everything after the string that was used to break/separate

I'm trying to get the DOE,JOHN from the below NSString:

IDCHK9898960101DL00300171DL1ZADOE,JOHN

I was trying to split the string on 1ZA, as that will be constant.

Here's what I've tried so far, but it's giving me the opposite of what I'm looking for:

 NSString *getTheNameOuttaHere = @"IDCHK9898960101DL00300171DL1ZADOE,JOHN";

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

 NSScanner *aScanner = [NSScanner scannerWithString:ge开发者_高级运维tTheNameOuttaHere];

 NSString *thingsScanned;

 [aScanner scanUpToString:separatorString intoString:&thingsScanned];

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

Output:

container: IDCHK9898960101DL00300171DL

Any help would be great! Thanks!


Shorter:

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


I would try using componentsSeparatedByString:

NSArray* components = [getTheNameOuttaHere componentsSeparatedByString:separatorString];

NSString* namePart = [components lastObject];

NSLog(@"name = %@", namePart);


componentsSeparatedByString worked great, see below:

NSString *name = @"IDCHK9898960101DL00300171DL1ZADOE,JOHN";

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

NSArray *split = [name componentsSeparatedByString:separatorString];

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

Output:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜