ios - 如何仅转义未转义的引号 Objective C

标签 ios objective-c escaping

我收到一个 JSON 响应,我需要转义引号。 这是我得到的字符串:

"sign":0,"text":"Continue onto William Elton \"Brownie\" Brown Freeway, I 580"

现在,我需要让字符串看起来像这样:

\"sign\":0,\"text\":\"Continue onto William Elton \"Brownie\" Brown Freeway, I 580\"

但是,当我调用这个方法时

sectionString = [sectionString stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];

我得到的是:

\"sign\":0,\"text\":\"Continue onto William Elton **\\"Brownie\\"** Brown Freeway, I 580\"

所以问题出在粗体部分,Brownie,在我开始替换它们之前已经有了引号。我怎样才能解决这个问题,并且只转义 "而不是\"?

最佳答案

要执行您要求的操作,首先取消转义转义引号:

用stringByReplacingOccurrencesOfString把所有的\"改成"

sectionString = [sectionString stringByReplacingOccurrencesOfString:@"\\\"" withString:@"\""];

然后用stringByReplacingOccurrencesOfString把所有的"改成\"

sectionString = [sectionString stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];

关于ios - 如何仅转义未转义的引号 Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32191077/

相关文章:

c# - 正则表达式在 .NET 中返回转义匹配 - 为什么?

ios - 在 Swift 中将视频转换为二进制数据

iphone - 在我输入时更改 UITextView 的框架

iOS:跨viewControllers在导航栏下方添加 View

php - iOS 向 PHP 发送数据

objective-c - 嵌套 NSDictionary 描述转义字符问题

ios - 更新单元格时 UITableViewCell 大小不一致

ios - 使用多个变量来创建字符串

iphone - 取消alertview的功能

php - 转义插入到 Mysql 中的字符串