-2

从 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

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

4

2 回答 2

2

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

什么是源 JSON 字符串?

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

于 2013-03-24T00:14:12.303 回答
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);
于 2013-03-24T00:21:31.447 回答