我使用LastFM API获取艺术家信息。当我调用他们的artist.getInfo
方法时,我得到一个Artist对象。但是,wiki摘要文本的格式为html,如下所示:
Arch Enemy is a Swedish <a href="http://www.last.fm/tag/melodic%20death%20metal" class="bbcode_tag" rel="tag">melodic death metal</a> band from Halmstad, Sweden, formed in 1996. Founded by <a href="http://www.last.fm/music/Carcass" class="bbcode_artist">Carcass</a> guitarist <a href="http://www.last.fm/music/Michael+Amott" class="bbcode_artist">Michael Amott</a> along with <a href="http://www.last.fm/music/Johan+Liiva" class="bbcode_artist">Johan Liiva</a>, both originally from the influential death metal band <a href="http://www.last.fm/music/Carnage" class="bbcode_artist">Carnage</a>. The band has released seven studio albums, a live album (Burning Japan Live 1999), two DVDs and three EPs. The band was originally fronted by Johan Liiva, who was replaced by <a href="http://www.last.fm/music/Angela+Gossow" class="bbcode_artist">Angela Gossow</a> as lead vocalist in 2000
我想从此文本中获取纯文本(html-less)。我尝试过使用子字符串手动删除它们,但我无法找到方法。
答案 0 :(得分:2)
我建议使用Boilerpipe。它具有从HTML
中提取纯文本的非常强大的功能。
您所要做的就是:
URL url = new URL("http://www.example.com/some-location/index.html");
// NOTE: Use ArticleExtractor unless DefaultExtractor gives better results for you
String text = ArticleExtractor.INSTANCE.getText(url);
这是从URL中提取文本。但是,您可以将String
作为HTML
传递给您。我一直在使用它,它是我尝试过的最好的工作。
答案 1 :(得分:1)
Android中有一个Html类。使用此类的最简单方法是,您可以看到fromHtml(...)方法,它返回的Spannable可以很容易地转换为纯文本。
所以下一个例子就是:
String htmlString = "<div>text</div><a href=\"someref\">link</a>";
String plainText = Html.fromHtml(htmlString).toString();