【问题标题】:Replace double double quotes "" with single double quote " [duplicate]将双双引号“”替换为单双引号“ [重复]
【发布时间】:2011-09-15 21:34:42
【问题描述】:

可能重复:
Remove double quotes from NSString

我有一个带双双引号的字符串 "" 我需要用单双引号 ".

我已经尝试了以下,但我仍然以双引号结束

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

最初的字符串是:This is a ""99"" 字符串

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

我做错了什么?

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    您似乎希望 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

    【讨论】:

      【解决方案2】:

      你调用的方法不会改变原来的 NSString。它会返回一个新的 NSString,其中包含您要求的替换。

      保存新字符串并使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-18
        • 1970-01-01
        • 2017-12-29
        • 2019-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多