需求是:TextView只显示HTML里的纯文字内容,去掉CSS样式、超链接、图片等等。
解决方法:
- 查找Java或者Android有没有提供API直接操作HTML字符串的。暂时未发现有,懒得深入去找了。。。
- 用正则表达式匹配并清除掉各种HTML标签。嗯,就这样干。
具体实现:
1. 匹配HTML代码中的缩进、换行等格式,正则表达式如下:
String regFormat = "\\s*|\t|\r|\n";
2. 匹配所有的标签,正则表达式如下:
String regTag = "<[^>]*>";
3. 执行上面两条匹配规则,将匹配到的内容replace为空字符串,也就一行代码:
String text = htmlStr.replaceAll(regFormat,"").replaceAll(regTag,"");
大功告成。