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

JavaScript replace newline escape sequence with newline

本文关键字:换行 转义序列 替换 换行符 JavaScript      更新时间:2023-09-26

我希望用新的行字符:''n'替换字符串"'n"的任何出现。

replace(/[''n]/g, "'n")似乎行不通。

我不熟悉正则表达式,想知道是否有人可以帮助。

[''n]是字符'n的集合。只要去掉括号:

….replace(/''n/g, ''n')

在现代JavaScript环境中,您可以使用String.prototype.replaceAll (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

当然,如果你不喜欢摆弄原型(有自己决定的理由,也有不自己决定的理由),你可以将它定义为一个常规函数:

function replaceAll(string, find, replace) {
    return string.split(find).join(replace);
}

然后像这样调用它:

replaceAll(mystring, '''n', ''n');

for React users你可以用然后你可以使用renderHTML库来渲染内容

的例子:

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

然后在渲染方法中使用

{renderHTML(textWithLineBreaker)}