一刀切

一刀切法分为:事先补全法和事后修正法

事先补全法

 要求将 @"abc ttt,kmd,uuu xyz" 用逗号或空格隔开字符串,分解成各个部分

  NSString   *str = @"abc ttt,kmd,uuu xyz";
    //由于xyz后面没有空格或者逗号,先给他加上逗号; 在执行逻辑之前补齐不同的地方,这种做法叫做一刀切
    str = [NSString stringWithFormat:@"%@,",str];
    char list[20];
    memcpy(list, [str cStringUsingEncoding:NSASCIIStringEncoding], [str length]);
    NSString  *string = @"";
    NSMutableArray  *lista = [NSMutableArray array];
    for (int i = 0 ; i < sizeof(list) ; i++) {
        char s =   list[i];
        if (s == ' ' || s == ',') {
            [lista addObject:string];
            string = @"";
        }else
        {
            string = [NSString stringWithFormat:@"%@%c",string, s];
        }
    }
    NSLog(@"%@",lista);

事后修正法:

把字符串@“abcdef”每个字符中间添加一个逗号

NSString   *string = @"abcdef";
    char list[6];
    memcpy(list, [string cStringUsingEncoding:NSASCIIStringEncoding], [string length]);
    NSString   *str = @"";
    for (int i = 0; i < sizeof(list); i++) {
        char s =   list[i];
        str = [str stringByAppendingFormat:@",%c",s];
    }
    
    //以指定位置开始(包括指定位置的字符),并包括之后的全部字符 事后修正
    str = [str substringFromIndex:1];
    NSLog(@"%@",str);

你可能感兴趣的:(一刀切)