繁体   English   中英

如何从 NSString 中删除这些字符

[英]How to remove these characters from NSString

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

NSString *link = [[notification userInfo] valueForKey:@"link"];
link = [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSLog(@"Requesting Link: %@",link); /* see below for output */
NSURL *url = [NSURL URLWithString:link];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

[self.theWebView loadRequest:request];

控制台显示 NSLog 输出如下:

%0A%09%09%09http://192.168.0...

loadRequest没有做任何事情,我确定这是因为NSURL没有正确编码,但我不知道如何删除这些字符。

编辑

原始字符串(换行符和空格):

Requesting Link: 
        http://192.168.0...

URL 之前的字符串中有换行符和制表符。 修剪它们:

NSString *link = [[notification userInfo] valueForKey:@"link"];
link = [link stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSURL *url = [NSURL URLWithString:link];

你不必编码而是解码你的字符串,试试这个:

NSString *decoded = [link stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

在使用编码之前修剪它们

    link = [link stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];

用这个

[链接 stringByRemovingPercentEncoding];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM