从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);
但我无法删除字符。任何人都可以帮助我摆脱这个问题..在此先感谢。
如果你想删除的空间和\
性格,最好是从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);
希望这将有助于
他需要\不为/ – 2013-03-08 08:11:45
是的只需要替换@“/ :.”与@“\\” – KDeogharkar 2013-03-08 08:12:37
我不会建议这一点,这将创建很多对象是内存,并会慢慢,然后正常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);
输出是什么?你可以显示NSLog吗? – 2013-03-08 08:05:35
@Midhun MP encodedString打印两次而不删除字符(\)响应==>%22http:%5C /%5C/66.561.4.34%5C /应用程序%22空格和(\)必须删除。 – 2013-03-08 08:10:42
在NSLog的输出中,所有'\'都已经被删除了,所以问题是什么 – rckoenes 2013-03-08 08:11:40