我已经四处搜索,无法找到答案,所以请原谅我,如果我创建了一个重复的问题。
我已将NSDictionary转换为NSString,并希望取出所有出现的" {","}"和&#34 ;; &#34 ;.当我使用stringByReplacingOccurrencesOfString
时,NSLog中没有任何不同的内容。
我写的代码:
NSString *myString = [myDictionary description];
[myString stringByReplacingOccurrencesOfString: @"{" withString:@""];
[myString stringByReplacingOccurrencesOfString: @"}" withString:@""];
[myString stringByReplacingOccurrencesOfString: @";" withString:@""];
NSLog(@"%@", myString);
答案 0 :(得分:3)
没有什么不同的原因是stringByReplacingOccurencesOfString返回一个你需要分配给myString的新字符串,它不会改变字符串,所以你可以使用
NSString *myString = [myDictionary description];
myString=[myString stringByReplacingOccurrencesOfString: @"{" withString:@""];
myString=[myString stringByReplacingOccurrencesOfString: @"}" withString:@""];
myString=[myString stringByReplacingOccurrencesOfString: @";" withString:@""];
NSLog(@"%@", myString);
但是,通常应该使用description
来避免调试/日志记录。您应该直接迭代字典 - 例如。
NSMutableString *myString=[NSMutableString new];
for (NSString *key in myDictionary.allKeys) {
[myString appendString:@"%@ = %@\r\n",key,myDictionary[key]];
}
NSLog(@"%@",myString");
答案 1 :(得分:0)
您需要同时使用stringByTrimmingCharactersInSet
和stringByReplacingOccurrencesOfString
api。请参阅以下示例代码: -
NSString *myString = [myDictionary description];
NSString *str=[myString stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"{}"]];
NSLog(@"%@", [str stringByReplacingOccurrencesOfString:@";" withString:@""]);