Nic*_*eny 2 javascript parsing replace node.js
我有解析网站并从数据库中获取信息的代码。看起来像这样:
var find = body.match(/\"text\":\"(.*?)\",\"date\"/);
Run Code Online (Sandbox Code Playgroud)
结果,我有:
????????? ?? ???? ????????? \ n ?????????? ?? ????????? \ n ?????????? ?? ???? \ n ???????? ?????? \ n ?????????? ??????????
然后我尝试替换\ n,但是它不起作用。
var str = find[1].replace(new RegExp("\\n",'g'),"*");
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
看起来您想替换文本\n,即反斜杠后跟一个n,而不是换行符。
在这种情况下,您可以尝试
var str = find[1].replace(/\\n/g, "*");
Run Code Online (Sandbox Code Playgroud)
或可读性较低的版本
var str = find[1].replace(new RegExp("\\\\n", "g"), "*");
Run Code Online (Sandbox Code Playgroud)
在正则表达式中,字符串\n与换行符匹配。要匹配反斜杠字符,我们需要通过在其前面加上另一个反斜杠来对其进行“转义”。 \\在正则表达式中匹配一个\字符。同样,在JavaScript字符串文字中,\是转义字符,因此我们在编写时需要再次在正则表达式中转义两个反斜杠new RegExp("\\\\n", "g")。