2

バックスラッシュ文字を含むjson応答から文字列としてURLを取得しています。URL から「\」文字を削除したい。コードを作成しましたが、機能しません。コードは次のとおりです。

 NSString *responseData = [[NSString alloc]initWithData:[NSData dataWithContentsOfURL:url] encoding:NSUTF8StringEncoding];
    NSString* encodedString = [responseData stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        NSLog(@"Response ==> %@" ,encodedString);

       // here encodedString is a url which is showing crctly in output and need to trim the \ character.

       // NSString* str = [NSString stringWithFormat: @"encodedString"];
       // str = [str stringByReplacingOccurrencesOfString:@"?" withString:@""];
       // NSLog(@"Response ==> %@" , str);

    encodedString = [encodedString stringByReplacingOccurrencesOfString:@"\\" withString:@""];
        NSLog(@"Response ==> %@" ,encodedString);

しかし、文字を削除することはできません。

4

3 に答える 3

5

\スペースや文字を削除したい場合は、 から削除することをお勧めしますresponseData

NSString *responseData = [[NSString alloc]initWithData:[NSData dataWithContentsOfURL:url] encoding:NSUTF8StringEncoding];

responseData = [responseData stringByReplacingOccurrencesOfString:@" " withString:@""];
responseData = [responseData stringByReplacingOccurrencesOfString:@"\\" withString:@""];
NSString* encodedString = [responseData stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
于 2013-03-08T08:14:32.303 に答える
4

これを試して:

    NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"\\"];
    encodedString = [[encodedString componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];
    NSLog(@"%@", encodedString);

これが役立つことを願っています

于 2013-03-08T08:06:39.477 に答える
0

この方法を試してください。

文字列に \ が含まれていると仮定すると、次の \ をエスケープするために二重に使用される文字列で

NSMutableString *string=[NSMutableString stringWithString:@"hi this i\\s good"];
//NSMutableString *string=[NSMutableString stringWithString:encodedString];

[string replaceOccurrencesOfString:@"\\" withString:@"" options:1 range:NSMakeRange(0, string.length)];

NSLog(@"%@",string);
于 2013-03-08T08:11:24.623 に答える