代码之家  ›  专栏  ›  技术社区  ›  Cole

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

  •  4
  • Cole  · 技术社区  · 16 年前

    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
    

    任何帮助都将是伟大的!谢谢!

    3 回复  |  直到 16 年前
        1
  •  16
  •   Paul Lynch    16 年前

    更短的:

    [[getTheNameOuttaHere componentsSeparatedByString:@"1ZA"] lastObject];
    
        2
  •  3
  •   progrmr    16 年前

    componentsSeparatedByString :

    NSArray* components = [getTheNameOuttaHere componentsSeparatedByString:separatorString];
    
    NSString* namePart = [components lastObject];
    
    NSLog(@"name = %@", namePart);
    
        3
  •  2
  •   Cole    16 年前

    componentsSeparatedByString 很好,见下:

    NSString *name = @"IDCHK9898960101DL00300171DL1ZADOE,JOHN";
    
    // scan for "1ZA"
    NSString *separatorString = @"1ZA";
    
    NSArray *split = [name componentsSeparatedByString:separatorString];
    
    for (NSString *element in split) {
        NSLog(@"element: %@", element);
    }
    

    输出:

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