Ios 如何从NSString中删除这些字符
我想加载URL请求,但URL中有一些不需要的字符(我正在从远程位置检索URL,因此无法更改源) 控制台显示NSLog输出,如下所示:Ios 如何从NSString中删除这些字符,ios,objective-c,Ios,Objective C,我想加载URL请求,但URL中有一些不需要的字符(我正在从远程位置检索URL,因此无法更改源) 控制台显示NSLog输出,如下所示: %0A%09%09%09http://192.168.0... loadRequest没有任何作用,我确信这是因为NSURL编码不正确,但我不知道如何删除这些字符 编辑 原始字符串(换行符和空格): 您不必编码而是解码字符串,请尝试以下操作: NSString *decoded = [link stringByReplacingPercentEscapesUsi
%0A%09%09%09http://192.168.0...
loadRequest
没有任何作用,我确信这是因为NSURL
编码不正确,但我不知道如何删除这些字符
编辑
原始字符串(换行符和空格):
您不必编码而是解码字符串,请尝试以下操作:
NSString *decoded = [link stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
URL前面的字符串中有换行符和制表符。修剪它们:
NSString *link = [[notification userInfo] valueForKey:@"link"];
link = [link stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSURL *url = [NSURL URLWithString:link];
在使用编码之前修剪它们
link = [link stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
用这个
[链接stringByRemovingPercentEncoding] 值得一提的是,这是一个换行符和3个制表符。原始字符串是什么样子的?难道
stringByAddingPercentEscapesUsingEncoding:
实际上没有添加它们吗?之前的链接是什么样子的?@Abizern-可能是相同的,只有换行符和3个选项卡不会(明显地)打印(但会创建空白)。原始字符串的NSLog输出没有%0A…符号,但在控制台中,字符串是在换行和一些空格后打印的,这完全符合热舔描述。
NSString *link = [[notification userInfo] valueForKey:@"link"];
link = [link stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSURL *url = [NSURL URLWithString:link];
link = [link stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];