Ios 如何从NSString中删除这些字符

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

我想加载URL请求,但URL中有一些不需要的字符(我正在从远程位置检索URL,因此无法更改源)

控制台显示NSLog输出,如下所示:

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