最近項目中在做字數統計的功能,下面是要統計字數的字符串:
<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("<.*?>", ""); //過濾所有的標籤