繁体   English   中英

如何修剪到NSString中的URL?

[英]How to trim to URL in NSString?

在调试时,我以这种方式获得了url:

myURL   __NSCFString *  @"(\n    "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0003_white_cloud.png"\n)"  0x0a8a3510

我试图通过方法将(\\n\\n)替换为""

tringByReplacingOccurrencesOfString:@" (\n " withString:@""

终于我以这种方式获得了我的网址

myURL   __NSCFString *  @"   "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0003_white_cloud.png"" 0x08c12540

但是我想要的是

myURL   __NSCFString *  @"http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0003_white_cloud.png"  0x08c12540

有什么好的方法可以帮助我获得想要的字符串?

这应该从字符串的末尾修剪非URL字符,并加上括号字符:

NSMutableCharacterSet* urlSet = [[NSMutableCharacterSet alloc] init];
urlSet = [urlSet formUnionWithCharacterSet:[NSCharacterSet URLUserAllowedCharacterSet]];
urlSet = [urlSet formUnionWithCharacterSet:[NSCharacterSet URLPasswordAllowedCharacterSet]];
urlSet = [urlSet formUnionWithCharacterSet:[NSCharacterSet URLHostAllowedCharacterSet]];
urlSet = [urlSet formUnionWithCharacterSet:[NSCharacterSet URLPathAllowedCharacterSet]];
urlSet = [urlSet formUnionWithCharacterSet:[NSCharacterSet URLQueryAllowedCharacterSet]];
urlSet = [urlSet formUnionWithCharacterSet:[NSCharacterSet URLFragmentAllowedCharacterSet]];
urlSet = [[urlSet invertedSet] mutableCopy];
[urlSet addCharactersInString:@"()"];

myURL = [myURL stringByTrimmingCharactersInSet:urlSet];

如果实际上是反斜杠+ n而不是换行符,则可能需要在去除“ \\ n”之后执行此操作。

暂无
暂无

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

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