Javascript | 无法用String.replace()replace\ n
我有parsing网站,并从数据库中获取信息的代码。 这是这样的:
var find = body.match(/\"text\":\"(.*?)\",\"date\"/);
结果,我有:
гороскопнаиюльскорпион\nштукатурканагазобетон\nподработканадень\nмицубиситюмень\nсокращениемикрорайон
然后,我尝试更换\ n,但它不工作。
var str = find[1].replace(new RegExp("\\n",'g'),"*");
我能用这个做什么?
它看起来像你想要replace文本\n
,即一个反斜杠后面跟一个n
,而不是一个换行符。
在这种情况下,你可以尝试
var str = find[1].replace(/\\n/g, "*");
或可读性较差的版本
var str = find[1].replace(new RegExp("\\\\n", "g"), "*");
在正则expression式中,string\n
匹配一个换行符。 要匹配一个反斜杠字符,我们需要通过在另一个反斜杠之前来“逃避”它。 在正则expression式中匹配一个\
字符。 同样,在JavaScriptstring文字中, \
是转义字符,所以当我们编写new RegExp("\\\\n", "g")
时,我们需要再次在正则expression式中反转两个反斜杠。
在控制台中工作!
这里可以在全球范围内使用,可以在两种types的换行符上使
find[1].replace(/\r?\n/g, "*")
如果你不想'\ r'被replace,你可以简单地从正则expression式中删除。