最近项目中在做字数统计的功能,下面是要统计字数的字符串:
<p>字数统计 测试</p>
<table>
<tbody>
<tr>
<td width="100"> 字符串1 </td>
<td width="100">字 符 串 2</td>
</tr>
</tbody>
</table>
要求过滤掉所有的标签,统计标签中的字符串长度(包括空格),处理中发现,不能单纯的先过滤掉标签再统计字长,这样标签与标签之间的空格、换行都会被统计。
解决思路:先删除标签与标签之间的空白,再过滤掉标签,然后统计字数。
关键代码:
String text = text .replaceAll("(?<=\\>)(?:\\s*\r?\n?)(?=\\<)",""); //过滤标签与标签之间的空格及换行
String text = text .replaceAll("<.*?>", ""); //过滤所有的标签