我正在尝试扫描文本,但我不明白它是如何工作的,任何人都可以帮助我吗?
<a class="lightbox" title ="elecciones mexico 2012" href="http://www.myWebpage.com/wp-content/uploads/2012/07/elecciones-mexico-2012.jpg"><img src="http://www.myWebpage.com/wp-content/uploads/2012/07/elecciones-mexico-2012.jpg" alt="" title="elecciones mexico 2012" width="643" height="391" class="aligncenter size-full wp-image-66795" /></a></p>
<p>I need this text</p>
<p> And this text.</p>
<p> Also this text! </p>
<p> I dont want this text </p>]]>
这样我的最终字符串就像: 我需要这个文字 而这篇文章 还有这个文字!
提前致谢
答案 0 :(得分:0)
浪费你的射门。这就是NSXMLParser在那里的原因。
@interface TextParser: NSObject {
NSMutableString *text;
}
- (id)init
{
if ((self = [super init]))
{
text = [[NSMutableString alloc] init];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:[string dataUsingEncoding:NSUTF8Stringaencoding];
parser.delegate = self;
[parser parse];
// here text will contain all the text contained by the XML tags
}
return self;
}
- (void)parser:(NSXMLParser *)p foundCharacters:(NSString *)chars
{
[text appendString:chars];
}
答案 1 :(得分:0)
嗯,我所知道的NSScanner(MacOS)并不适合你正在寻找的那种解析。它只是通过一个字符串并返回“标记”,如数字或由它们组成的字符集定义的字符串。除非您愿意接受很高的错误机会,否则这对于处理字符串示例中的标记并不是特别有用。
在这种情况下,您可能会执行类似“读取由&lt;”之外的任何内容组成的字符串的操作并将其附加到结果字符串,然后“读取由&gt;之外的任何内容组成的字符串”并丢弃等等,直到你到达终点。根据您实际尝试解析的内容,这可能会也可能不会起作用;绝对不是从HTML中获取纯文本的“方式”。
它也不是XML(标签不匹配),所以使用NSXML可能也不是一个选项......