2013-03-08 64 views
2

我從帶有反斜槓字符的json響應中獲取url作爲字符串。我想從url中刪除'\'字符。我建立了代碼,但它不起作用。和代碼是在這裏去..從IOS應用程序中的字符串中刪除''

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); 

但我無法刪除字符。任何人都可以幫助我擺脫這個問題..在此先感謝。

+0

輸出是什麼?你可以顯示NSLog嗎? – 2013-03-08 08:05:35

+0

@Midhun MP encodedString打印兩次而不刪除字符(\)響應==>%22http:%5C /%5C/66.561.4.34%5C /應用程序%22空格和(\)必須刪除。 – 2013-03-08 08:10:42

+1

在NSLog的輸出中,所有'\'都已經被刪除了,所以問題是什麼 – rckoenes 2013-03-08 08:11:40

回答

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]; 
4

試試這個:

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

希望這將有助於

+0

他需要\不爲/ – 2013-03-08 08:11:45

+0

是的只需要替換@「/ :.」與@「\\」 – KDeogharkar 2013-03-08 08:12:37

+0

我不會建議這一點,這將創建很多對象是內存,並會慢慢,然後正常repalce。 – rckoenes 2013-03-08 08:12:50

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);