2014-01-27 42 views
-6

我有一个字符串删除字符一次

NSString *str = @"[\"a\" : \"b\" , \"c\" : \"d\", \"e\" : \"f\" ,]" ; 

我想删除逗号(,)只有在字符串中有逗号只对字符串的结束,应该用空白charachter等取代,即@ “”。如果它出现在字符串的开始或中间,则不应删除逗号。所以,最终的字符串应该是

["a" : "b" , "c" : "d", "e" : "f"] 

,而不是

["a" : "b" , "c" : "d", "e" : "f",] 
+0

没有 “空字符”。你的意思是空弦吗?另外,真正的规范是如果在字符串末尾的“]”之前出现一个逗号? –

+0

哪个部分如此困难?你所要做的就是将冒号分隔的元素保存在一个数组中。 –

回答

5

我不知道我理解你想要做什么,但是从你的例子中,你桅杆要删除最后一个来的。如果总是有结束括号']',您可以使用;

str = [str stringByReplacingOccurrencesOfString:@" ,]" withString:@"]"]; 

希望这是你以后的样子。

0
NSString *string = @"[\"a\" : \"b\" , \"c\" : \"d\", \"e\" : \"f\" ,]"; 

int index = string.length - 1; 

while (index-- >= 0) { 

    if ([string characterAtIndex:index] == ',') 
     break; 
} 

string = [string stringByReplacingCharactersInRange:NSMakeRange(index, 1) withString:@""]; 

NSLog(@"String %@", string); // String ["a" : "b" , "c" : "d", "e" : "f" ] 
0

简单的一招。它工作正常..

NSMutableArray *subStr = [NSMutableArray arrayWithArray:[str componentsSeparatedByString:@","]]; 
    NSString *lastString = [subStr lastObject]; 
    [subStr removeObject:lastString]; 
    NSString *finalStrin = [NSString stringWithFormat:@"%@%@",[subStr componentsJoinedByString:@","],lastString];