我有一个NSString,如:
NSString *s = @"<span class='class1'>here some text</span>";
class1可以是任何东西(比如class2,或largetext,或者其他)。
我想得到以下内容:
NSString *wantedString = @"here some text";
我该怎么做?
答案 0 :(得分:0)
使用xml解析器是一个很好的解决方案,只要开销是值得的。
使用正则表达式:
NSString *s = @"<span class='class1'>here some text</span>";
NSString *pattern = @"<span class='[^']+'>([^<]+)";
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:pattern
options:NSRegularExpressionCaseInsensitive
error:nil];
NSTextCheckingResult *textCheckingResult = [regex firstMatchInString:s options:0 range:NSMakeRange(0, s.length)];
NSRange matchRange = [textCheckingResult rangeAtIndex:1];
NSString *match = [s substringWithRange:matchRange];
NSLog(@"Found string '%@'", match);
NSLog输出:
找到字符串'这里有一些文字'
答案 1 :(得分:-2)
如果此html已加载到Web视图中,请使用stringByEvaluatingJavaScriptFromString访问span标记的innerHTML。
stringByEvaluatingJavaScriptFromString可用于通过DOM(文档对象模型)访问html的任何部分,例如标记的内容。