-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

2 つの文字列をよりよく比較するために、これらの括弧を取り除く方法は? 事前にサンクス。

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 に答える