用双引号替换双引号“”

时间:2011-09-15 21:34:43

标签: objective-c

  

可能重复:
  Remove double quotes from NSString

我有一个带双引号“”的字符串,我需要用单引号替换“。

我已经尝试了以下内容,但我仍然以双引号

结束
NSString *str = @"This is a \"\"99\"\" string";
[str stringByReplacingOccurrencesOfString: @"\"\"" withString: @"\""];

最初字符串是:这是一个“”99“”字符串

stringByReplacingOccurrencesOfString之后:这是一个“”99“”字符串。

我做错了什么?

2 个答案:

答案 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,其中包含您要求的替换。

保存新字符串并使用它。