gpt4 book ai didi

javascript - 字符串上的多个正则表达式

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:53 25 4
gpt4 key购买 nike

如何将多个正则表达式应用于单个字符串?

例如,用户在文本区域中输入以下内容:

red bird
blue cat
black dog

我想用逗号替换每个回车符,用下划线替换每个空格,这样最终的字符串就变成了 red_bird,blue_cat,black_dog。

到目前为止,我已经尝试了以下语法的变体:

function formatTextArea() {
var textString = document.getElementById('userinput').value;

var formatText = textString.replace(
new RegExp( "\\n", "g" ),",",
new RegExp( "\\s", "g"),"_");

alert(formatText);
}

最佳答案

您可以链接替换。 replace 方法的每个应用程序都会返回一个字符串,因此您可以在该字符串上再次应用 replace。喜欢:

function formatTextArea() {
var textString = document.getElementById('userinput').value;

var formatText =
textString.replace(/\n/g,",")
.replace(/\s/g,"_");

alert(formatText);
}

顺便说一下,不需要所有这些新的正则表达式对象。使用正则表达式文字(如上面的 /\n/g)。

或者,您可以使用 lambda 进行替换

const str = `red bird
blue cat
black dog`;
console.log(str.replace(/[\n\s]/g, a => /\n/.test(a) ? "," : "_"));

关于javascript - 字符串上的多个正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2804226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com