【问题标题】:Removing \ from NSString从 NSString 中删除 \
【发布时间】:2015-07-07 06:37:11
【问题描述】:

我正在处理 NSString,我正在获取此字符串

 "[  {    \"36\" : 142  }",
        "  {    \"38\" : 149  }",
        "  {    \"39\" : -1  }",
        "  {    \"40\" : -1  }",
        "  {    \"41\" : 163  }",
        "  {    \"42\" : -1  }",
        "  {    \"84\" : 302  }]"

我想从这个字符串中删除所有\。

提前致谢。

【问题讨论】:

  • 首先它不是一个字符串,它是一个字典,并且您在字符串中有“”,首先解析您的字符串,然后从单个字符串中删除 \。 "stringByReplacingOccurrencesOfString" 不能直接用于此
  • 它看起来像是在用逗号分隔的字符串文字内的转义 JSON,可能在数组文字内?您能否提供有关使用情况的更多详细信息?
  • 是的,我已经搜索但没有找到满意的答案,这就是我发布问题的原因。
  • @PradumnaPatil 你试过我的答案了吗?

标签: ios objective-c nsstring


【解决方案1】:

你必须用 NULL 字符替换 '\' 字符。

NSString *newString = [myString stringByReplacingOccurrencesOfString:@"\\" withString:@""];

【讨论】:

  • 嗨,你在一个真实的例子中试过这个吗......??我试过了,但它不起作用......
【解决方案2】:

方法一:

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

方法二:

NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

我很好奇方法 2 是否适用于将字符串解析为 json?

【讨论】:

  • Approch one contains \" 作为一个字符串,但我只想从我的字符串中删除 \ 所以它对我不起作用。
  • 我只有一个反斜杠而不是双反斜杠,所以它对我不起作用。
  • 双反斜杠正在转义单反斜杠,在此处查看更多信息:stackoverflow.com/questions/2931942/nsstring-backslash-escaping
【解决方案3】:

您需要使用stringByReplacingOccurrencesOfString 方法将\\ 替换为BLANK SPACE。下面是例子……

NSString *yourString = [yourString stringByReplacingOccurrencesOfString:@"\\" withString:@""];

【讨论】:

  • 为什么不简单地将"\\" 换成""
  • 这可能是问题所在。问题是如何删除反斜杠。
  • 是的,你是对的。只是更新我的答案..现在可以吗..?
  • 差不多。也更新第一句,现在不一致了。
  • 我只有一个反斜杠而不是双反斜杠,所以它对我不起作用。
猜你喜欢
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
  • 2011-01-08
  • 1970-01-01
  • 2011-11-29
  • 2013-03-25
相关资源
最近更新 更多