给定一个具有多个字符串的句子。该任务是使用javascript同时用新字符串替换多个字符串, 而不是一一对应。
以下是一些了解的方法:
replace()方法
此方法在字符串中搜索定义的值或正则表达式, 然后返回带有替换的定义值的新字符串。
语法如下:
string.replace(searchVal, newvalue)
参数:
- searchVal:此参数是必需的。它指定将被新值替换的值或正则表达式。
- 新值:此参数是必需的。它指定用于替换搜索值的值。
返回值:
返回一个新字符串, 其中定义值已被新值替换。
JavaScript数组join()方法
此方法将数组的元素添加到字符串中, 然后返回该字符串。
元素将通过传递的分隔符分隔。默认的分隔符是逗号(, )。
语法如下:
array.join(separator)
参数:
- 分隔器:此参数是可选的。它指定要使用的分隔符。如果不使用, 则元素之间用逗号分隔
返回值:
它返回一个字符串, 表示由定义的分隔符分隔的数组值。
范例1:本示例使用RegExp根据对象使用字符串替换字符串。更换()方法。
<!DOCTYPE html>
< html >
< head >
< title >
JavaScript | Replace multiple strings with multiple other strings.
</ title >
</ head >
< body style = "text-align:center;" id = "body" >
< h1 style = "color:green;" >lsbin</ h1 >
< p id = "GFG_UP" style = "font-size: 19px; font-weight: bold;" >
</ p >
< button onClick = "GFG_Fun()" >
click here
</ button >
< p id = "GFG_DOWN" style = "color: green; font-size: 24px; font-weight: bold;" >
</ p >
< script >
var up = document.getElementById('GFG_UP');
var down = document.getElementById('GFG_DOWN');
var str = "I have a Lenovo Laptop, a Honor Phone, and a Samsung Tab.";
var Obj = {
Lenovo: "Dell", Honor: "OnePlus", Samsung: "Lenovo"
};
up.innerHTML = str;
function GFG_Fun() {
down.innerHTML = str.replace(/Lenovo|Honor|Samsung/gi, function(matched){
return Obj[matched];
});
}
</ script >
</ body >
</ html >
输出如下:
在单击按钮之前:
单击按钮后:
范例2:本示例首先创建一个RegExp, 然后使用replace()用新关键字替换特定关键字的方法。
<!DOCTYPE HTML>
< html >
< head >
< title >
JavaScript | Replace multiple strings with multiple other strings.
</ title >
</ head >
< body style = "text-align:center;" id = "body" >
< h1 style = "color:green;" >
lsbin
</ h1 >
< p id = "GFG_UP" style = "font-size: 19px; font-weight: bold;" >
</ p >
< button onClick = "GFG_Fun()" >
click here
</ button >
< p id = "GFG_DOWN" style = "color: green; font-size: 24px; font-weight: bold;" >
</ p >
< script >
var up = document.getElementById('GFG_UP');
var down = document.getElementById('GFG_DOWN');
var str = "I have a Lenovo Laptop, a Honor Phone, and a Samsung Tab.";
var Obj = {
Lenovo: "Dell", Honor: "OnePlus", Samsung: "Lenovo"
};
up.innerHTML = str;
function GFG_Fun() {
var RE = new RegExp(Object.keys(Obj).join("|"), "gi");
down.innerHTML = str.replace(RE, function(matched) {
return Obj[matched];
});
}
</ script >
</ body >
</ html >
输出如下:
在单击按钮之前:
单击按钮后: