从JSON字符串中删除括号

时间:2013-03-24 00:10:41

标签: ios json nsstring

从JSON响应中提取字符串后:

 NSString *responseMessage = [NSString stringWithFormat:@"%@",[[JSON objectForKey:@"Response"]valueForKey:@"Message"]];
 NSLog(@"<%@>",responseMessage);

看起来像这样:

<(
    "not found"
)>

这是相关代码:

因此,当我尝试比较它时,isEqualToString始终返回false

([responseMessage isEqualToString:@"not found"])?NSLog(@"They are equal"):NSLog(@"They are different");//they are different

如何摆脱这些括号以更好地比较两个字符串?提前完成。

2 个答案:

答案 0 :(得分:2)

看起来你在这里有一个数组(在Objective-C中将打印成带括号的列表)。

源JSON字符串是什么?

如果它是一个数组,你想迭代它的元素,或者只是拉出第一个。

答案 1 :(得分:0)

您可以尝试使用NSRegularExpression删除,如果代码中存在的任何括号。您可以找到要使用的正则表达式的不同组合。

     NSString *expression = @"\\s+\\([^()]*\\)";
     while ([responseMessage rangeOfString:expression options:NSRegularExpressionSearch|NSCaseInsensitiveSearch].location!=NSNotFound)
     {
          responseMessage = [responseMessage stringByReplacingOccurrencesOfString:expression withString:@"" options:NSRegularExpressionSearch|NSCaseInsensitiveSearch range:NSMakeRange(0, [responseMessage length])];
     }

     NSLog(@"returnResponse %@",responseMessage);