我的NSString
最初看起来像<a href="http://link.com"> LinkName</a>
。我删除了html标记,现在有NSString
看起来像
http://Link.com SiteName
如何将两者分成不同的NSString
,以便我有
http://Link.com
和
SiteName
我特别想在标签中显示SiteName
,只需使用http://Link.com
在UIWebView
中打开,但是当它只是一个字符串时我不能。非常感谢任何建议或帮助。
答案 0 :(得分:8)
NSString *s = @"http://Link.com SiteName";
NSArray *a = [s componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"http: '%@'", [a objectAtIndex:0]);
NSLog(@"site: '%@'", [a lastObject]);
NSLog输出:
http: 'http://Link.com'
site: 'SiteName'
奖励,使用RE:
处理具有嵌入空间的站点名称NSString *s = @"<a href=\"http://link.com\"> Link Name</a>";
NSString *pattern = @"(http://[^\"]+)\">\\s+([^<]+)<";
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:pattern
options:NSRegularExpressionCaseInsensitive
error:nil];
NSTextCheckingResult *textCheckingResult = [regex firstMatchInString:s options:0 range:NSMakeRange(0, s.length)];
NSString *http = [s substringWithRange:[textCheckingResult rangeAtIndex:1]];
NSString *site = [s substringWithRange:[textCheckingResult rangeAtIndex:2]];
NSLog(@"http: '%@'", http);
NSLog(@"site: '%@'", site);
NSLog输出:
http: 'http://link.com'
site: 'Link Name'
答案 1 :(得分:2)
NSString有一个带签名的方法:
componentsSeparatedByString:
它返回一个组件数组作为结果。像这样使用它:
NSArray *components = [myNSString componentsSeparatedByString:@" "];
[components objectAtIndex:0]; //should be SiteName
[components objectAtIndex:1]; // should be http://Link.com
祝你好运。