Javascript:使用regEx一次更改多个字符或一组字符

Javascript: Using regEx to change more than one character or group of characters at a time

本文关键字:字符 一组 一次 使用 regEx Javascript      更新时间:2023-09-26

我知道如何编写相当简单的正则表达式,我的问题是一次更改多个字符或字符-不超过一个字符或字符的实例,但多于一个匹配字符或字符以在一次调用中替换单独的值。

例如,如果我想将所有换行符更改为<在文本区域的文本中,我可以编写:>

var withoutNewLines = document.getElementById("taInput").value.replace(/'n/g, "<br>");

如果我想将所有空格改为 ,我将编写:

var withoutNewLines = document.getElementById("taInput").value.replace(/ /g, "&nbsp;");

如果我想在一个语句中改变这两个,我会写:

var withoutNewLines = document.getElementById("taInput").value.replace(/'n/g, "<br>").replace(/ /g, "&nbsp;");
我的问题是:

是否有一种方法来编码一个正则表达式,它可以用来使两个变化只有一个调用替换()?

这有点不必要,但您可以尝试:

var newStr = "Some string".replace(/o|m/g, function (match) {
    if (match === "o") {
        return "i";
    } else if (match === "m") {
        return "r";
    }
});
console.log(newStr);

将所有"o"替换为"i",将所有"m"替换为"r"。

参考:

  • https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace