从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
如何摆脱这些括号以更好地比较两个字符串?提前完成。
答案 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);