OC中删除字符串中相邻重复字符

来源:互联网 发布:java 循环jsonarray 编辑:程序博客网 时间:2024/06/11 07:57

//方法1: 直接在可变字符串上操作, 不返回新字符串


NSMutableString *string = [NSMutableStringstringWithFormat:@"ssddjjiirhwiofhjjdkkkd"];

        

        

       for (int i =0; i < string.length; i++) {

            

           NSString *str1 = [string substringWithRange:NSMakeRange(i, 1)];

            

           NSString *str2 = [string substringWithRange:NSMakeRange(i - 1, 1)];

            

           if ([str1 isEqualToString:str2]) {

                

                [string deleteCharactersInRange:NSMakeRange(i,1)];

            }

            

        }

        

       NSLog(@"%@", string);

        




//方法2: 遍历字符串, 如果和前一个字符不相等, 就将该字符拼接到一个可变字符串中


        

        NSString *array = [NSStringstringWithFormat:@"ssffoosdfkksdffggewtt"];

        

        

       NSMutableString *resultArray = [[NSMutableStringalloc]init];

        

       for (int i =0; i < array.length; i++) {

            

           NSString *str1 = [array substringWithRange:NSMakeRange(i, 1)];

            

           NSString *str2 = [array substringWithRange:NSMakeRange(i - 1, 1)];

            

           if (![str1 isEqualToString:str2]) {

                

                [resultArrayappendString:str1];

            }

        }

        

            

       NSLog(@"%@", resultArray);

        





1 0