从IOS应用程序中的字符串中删除'\'

问题描述:

我从带有反斜杠字符的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

如果你想删除的空间和\性格,最好是从responseData删除它们。

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

responseData = [responseData stringByReplacingOccurrencesOfString:@" " withString:@""]; 
responseData = [responseData stringByReplacingOccurrencesOfString:@"\\" withString:@""]; 
NSString* encodedString = [responseData stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

试试这个:

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

尝试这种方式;

假设你的字符串包含\,在字符串中使用双为逃避下一\

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