JavaScript如何用多个其他字符串替换多个字符串?

2021年3月18日15:25:12 发表评论 783 次浏览

给定一个具有多个字符串的句子。该任务是使用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 >

输出如下:

在单击按钮之前:

JavaScript |用多个其他字符串替换多个字符串1

单击按钮后:

JavaScript |用多个其他字符串替换多个字符串2

范例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 >

输出如下:

在单击按钮之前:

JavaScript |用多个其他字符串替换多个字符串3

单击按钮后:

JavaScript |用多个其他字符串替换多个字符串4

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: