Javascript 如何将此正则表达式替换从替换单个单词更改为替换一个单词数组?
我已经搜索过了,但无法根据我的代码调整任何内容。我正试图将Javascript 如何将此正则表达式替换从替换单个单词更改为替换一个单词数组?,javascript,arrays,regex,replace,Javascript,Arrays,Regex,Replace,我已经搜索过了,但无法根据我的代码调整任何内容。我正试图将var-torerece=“warming”放入一个数组var-torerece=['global',warming'],这样它将用var-newWord替换输入数组中的每个单词,而var-newWord只是将单词包装在一个范围内。谢谢你的帮助 if (temperature > 90) { var input = 'ITS GLOBAL EFFING WARMING'; var toReplace = "WARMI
var-torerece=“warming”
放入一个数组var-torerece=['global',warming']
,这样它将用var-newWord替换输入数组中的每个单词,而var-newWord只是将单词包装在一个范围内。谢谢你的帮助
if (temperature > 90) {
var input = 'ITS GLOBAL EFFING WARMING';
var toReplace = "WARMING";
var emphasisColor = 'cyan';
};
var newWord = `<span style="color: ${emphasisColor}">${toReplace}</span>`;
var regEx = new RegExp(toReplace,"g");
var output = input.replace(regEx, newWord);
if(温度>90){
var输入='其全球效应变暖';
var toReplace=“变暖”;
var Emphasis颜色=‘青色’;
};
var newWord=`${toReplace}`;
var regEx=新的RegExp(替换为“g”);
var output=input.replace(regEx,newWord);
通过|
加入
以交替,以便数组中的任意一个单词都匹配。还要确保使用i
标志使其不区分大小写
还将$&
放在替换字符串中以回显匹配的字符串(例如,当匹配GLOBAL
时,结果是GLOBAL
,而不是GLOBAL,warming
:
var输入='其全球效应变暖';
var toReplace=[“全球”、“变暖”]
var Emphasis颜色=‘青色’;
var regEx=new RegExp(toReplace.join(“|”),“gi”);
var output=input.replace(regEx,`$&`);
console.log(输出);
您可以使用forEach
为数组中的每个元素执行函数:
if (temperature > 90) {
var input = "ITS GLOBAL EFFING WARMING";
var toReplace = ["GLOBAL", "WARMING"];
var emphasisColor = "cyan";
};
toReplace.forEach((element, index) => {
regEx = new RegExp(element, "gi");
input = input.replace(regEx, `<span style="color: ${emphasisColor}">${toReplace[index]}</span>`);
});
if(温度>90){
var input=“其全球效应变暖”;
var toReplace=[“全球”、“变暖”];
var emphasisColor=“青色”;
};
toReplace.forEach((元素,索引)=>{
regEx=新的RegExp(元素“gi”);
input=input.replace(regEx,`${toReplace[index]}`);
});
您还可以使用for
循环而不是forEach
来获得相同的结果
快乐编码!:)@CertainPerformance suggestion更好,而且不需要任何费用