比较两个字符串时反斜杠问题

时间:2013-07-03 05:52:44

标签: iphone string backslash

我从服务

获取一些字符串
  <iframe width="560" height="314" src="http://www.youtube.com/embed/oWeXKVioM34" frameborder="0" allowfullscreen></iframe>

我刚刚替换了这个字符串

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



    NSString *str2=@"<iframe width=\"560\" height=\"314\" src=\"http://www.youtube.com/embed/oWeXKVioM34\" frameborder=\"0\" allowfullscreen></iframe>"// this is my expected string which i got in console area for summary.

我正准备进入控制台区域但是如果我比较字符串

      if([str2 isEqualToString:summary])
                {
                    NSLog(@"same......");
                }
                else{
                    NSLog(@"notsame ......");
                }

我想知道即使在控制台区域显示notsame,我也会得到same作为输出。然后我计算了摘要的长度为129,而对于str2则为121。 然后我知道有一个反斜杠的问题,因为我添加了8个斜杠,然后该怎么做以获得相同的输出。

任何帮助都会非常感激。 谢谢。

1 个答案:

答案 0 :(得分:1)

反斜杠用于表示"字面上的NSString等特殊字符。因此,实际上str2字符串没有任何反斜杠,而summary字符串执行(由stringByReplacingOccurrencesOfString:withString:添加)。