我有一个带双引号“”的字符串,我需要用单引号替换“。
我已经尝试了以下内容,但我仍然以双引号
结束NSString *str = @"This is a \"\"99\"\" string";
[str stringByReplacingOccurrencesOfString: @"\"\"" withString: @"\""];
最初字符串是:这是一个“”99“”字符串
stringByReplacingOccurrencesOfString之后:这是一个“”99“”字符串。
我做错了什么?
答案 0 :(得分:3)
看起来你期望str
包含你修改过的字符串。相反,您应该查看stringByReplacingOccurrencesOfString:withString:
函数的返回值:
NSString *str = @"This is a \"\"99\"\" string";
NSString *result =[str stringByReplacingOccurrencesOfString: @"\"\"" withString: @"\""];
NSLog(@"before: %@ after: %@", str, result);
NSString对象是不可变的。如果您希望str是可变的,请查看NSMutableString:documentation link
答案 1 :(得分:1)
您调用的方法不会更改原始NSString。它返回一个新的NSString,其中包含您要求的替换。
保存新字符串并使用它。