2 mapmapm MapMapM 于 2012.12.20 13:18 提问

比较两个字符串,删除评论元素

有两个用逗号分开的NSString,我想要移除第一个字符重复的字符。

ex. str1 = 0,1,2,3
    str2 = 1,2.
    output -> str1 = 0,3 and str2 = 1,2.

有一种办法是,用逗号分开两个字符串,但是需要两个NSArray和LOOP循环,然后移除评论元素,但是这样实现起来非常困难,有没有简单办法实现?谢谢好心人帮忙。

2个回答

redCoral_
redCoral_   2012.12.20 14:04
已采纳

可以不用循环
但是需要设置好所有的API

NSString *str1=@"0,1,2,3";
NSString *str2=@"1,2";

NSMutableArray *arr1=[[NSMutableArray alloc]initWithArray:[str1 componentsSeparatedByString:@","]];

[arr1 removeObjectsInArray:[str2 componentsSeparatedByString:@","]];
NSLog(@"arr1 %@",arr1);
/*
NSMutableString *finalString=[NSMutableString new];

for (NSInteger i=0; i<[arr1 count]; i++) {
    NSString *str=[arr1 objectAtIndex:i];

    [finalString appendString:str];
    if (i!=[arr1 count]-1) {
      [finalString appendString:@","];  
    }
}
*/
NSString *finalString=[arr1 componentsJoinedByString:@","];
NSLog(@"finalString %@",finalString);
MapMapM
MapMapM 非常感谢
接近 5 年之前 回复
abcdeFGh_xyz
abcdeFGh_xyz   2012.12.20 13:54
   id str1=@"aa,ab,ac,cd,ce,cf";
    id str2=@"aa,ac,cd,cf";
    //no ab and no ce

    id cmps1 = [str1 componentsSeparatedByString:@","];
    id cmps2 = [str2 componentsSeparatedByString:@","];        

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT SELF IN %@", cmps2];
    NSArray *final = [cmps1 filteredArrayUsingPredicate:predicate]; 
    id str = [final componentsJoinedByString:@","];
    NSLog(@"%@", str);
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!