不可见的字符会导致意外的EOF错误

时间:2019-05-29 21:21:51

标签: javascript character eof invisible

在尝试处理我面临的字符串时

  

错误:语法错误:意外的EOF

我无法控制如何生成字符串。我设法通过使用substring()进行二分法来隔离有问题的字符,但是console.log()JSON.parse()都没有打印出来:我知道了

> console.log(c);
""
> JSON.parse(c);
""

> c.length;
1

我所知道的是,其后是一个\n

如何识别并摆脱它?

更新

> console.log(encodeURIComponent(c));
%E2%80%A8

Is this even a character ??

1 个答案:

答案 0 :(得分:1)

假设这是唯一有问题的字符,并且由于已确定其百分比编码,则解决方案是替换已解码的百分比编码字符串:

> c.length;
1
> let badchar = decodeURI("%E2%80%A8");
> let regex = new RegExp(badchar, "g");
> newc = c.replace(regex, "");
> newc.length;
0

或者由于某些原因RegExp不可用

> newc = c.split(badchar).join("")