JavaScript用换行符替换换行符转义序列

JavaScript用换行符替换换行符转义序列,javascript,Javascript,我希望用新行字符“'\n”替换字符串“\n”的任何出现 替换(/[\\n]/g,“\n”) 似乎不起作用 我不熟悉正则表达式,不知道是否有人能帮忙。[\\n]是\和n的字符集。只要取下支架: ….replace(/\\n/g, '\n') 在现代JavaScript环境中,您可以改用(ES2021): …replaceAll('\\n','\n') 不要滥用正则表达式! 如果要测试单个字符串,请测试单个字符串 由于JavaScript没有用于字符串的内置replaceAll方法,您可以自己制作

我希望用新行字符“'\n”替换字符串“\n”的任何出现

替换(/[\\n]/g,“\n”)
似乎不起作用


我不熟悉正则表达式,不知道是否有人能帮忙。

[\\n]
\
n
的字符集。只要取下支架:

….replace(/\\n/g, '\n')
在现代JavaScript环境中,您可以改用(ES2021):

…replaceAll('\\n','\n')
不要滥用正则表达式! 如果要测试单个字符串,请测试单个字符串

由于JavaScript没有用于字符串的内置
replaceAll
方法,您可以自己制作:

String.prototype.replaceAll = function(find, replace) {
    return this.split(find).join(replace);
};
那么就这样称呼它:

mystring.replaceAll('\\n', '\n'); // for the "find" argument, you need to escape the backslash
replaceAll(mystring, '\\n', '\n');
当然,如果您不喜欢摆弄原型(有理由,而不是自己决定),您可以将其定义为常规函数:

function replaceAll(string, find, replace) {
    return string.split(find).join(replace);
}
那么就这样称呼它:

mystring.replaceAll('\\n', '\n'); // for the "find" argument, you need to escape the backslash
replaceAll(mystring, '\\n', '\n');

针对React用户 您可以将\n替换为 然后可以使用renderHTML库来渲染内容

例如:

textWithLineBreaker.split("\n").join("<br/>")

这个不需要正则表达式。@ParamagneticCroissant那么请给我另一个方法。如果答案正确,我会将其标记为答案。
。替换
似乎比
拆分
加入
更有效:(我看不出不使用regex的原因…@Derek朕會功夫 我不确定我们是否应该关注“效率”,除非它被明确说明,或者OP显然将在大字符串上运行。我绝对不建议为这类事情扩展本机原型。特别是因为它可能会被添加到未来版本的ECMAScript中,而这一点,尤其是没有防护可能会扰乱它的行为。使用正则表达式替换字符串中的正则字符串也绝对不会被滥用。令人难以置信的是,这实际上获得了12票反对票,支持明智地知道不要滥用正则表达式。令人难以置信的是,正则表达式解决方案在这里完全有效。这是一个非常好的用例。