1

サーバーから値を取得し、それを NSString オブジェクトに格納しました。その文字列の "'" は \u00e2\u0080\u0099 に置き換えられます。これを replaceOccurencesOfString を使用して置き換えようとしました。しかし、それはエラーを示しています。これで、コードとエラーが表示されました。

 [mutstr_Description replaceOccurrencesOfString:@"\u00e2\u0080\u0099" withString:@"'" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [mutstr_Description length])];

ここに画像の説明を入力

この問題を解決するのに役立ちます。

4

1 に答える 1

2

文字列に実際にリテラル文字\u0などが含まれていると仮定すると、次のようにする必要があります。

[mutstr_Description replaceOccurrencesOfString:@"\\u00e2\\u0080\\u0099" withString:@"'" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [mutstr_Description length])];

バックスラッシュをエスケープする必要があります。

更新 - おそらく、文字列には実際にこれらの制御文字が含まれています。これを試して:

NSString *controlChars = [NSString stringWithFormat:@"%C%C%C", 0xe2, 0x80, 0x99];
[mutstr_Description replaceOccurrencesOfString:controlChars withString:@"'" options:NSLiteralSearch range:NSMakeRange(0, [mutstr_Description length])];
于 2014-01-17T16:58:11.390 に答える