首页 > 建站教程 > JS、jQ、TS >  如何去掉html中的零宽字符 '​'正文

如何去掉html中的零宽字符 '​'

在爬来的数据中有的时候会出现零宽字符​,一般情况对界面没有什么影响,但是当一行最后一个字后面出现零宽字符​就会出现换行,影响界面的排版:



我的解决办法是把零宽字符​从字符串中全部去掉,以避免出现上述换行的情况。
代码如下:
str = str.replace(/\u200B/g,'');
还有另外一个方法:
先把所有的字符从字符串中取出来得到一个数组,然后把数组中的​过滤掉,最后再把过滤后的数组用join('')重新拼接成一个字符串:
const reg = /[^\x00-\x7F]/g;
const arr = str.match(reg);
if(arr) {
  str = arr.filter( ele => ele.charCodeAt(0) !== 8203).join('');
}