如何在 JavaScript 中使用正则表达式检测和替换字符串中的所有数组元素?
数组是在 JavaScript 中按顺序排列的值列表。“由索引指定的元素”指的是每个值:以下特征描述了 JavaScript 数组:数组可以最初存储多种类型的值。例如,您可以将数字、字符串、布尔值和 null 类型元素存储在数组中。
让我们进入本文,了解如何在 JavaScript 中使用正则表达式检测和替换字符串中的所有数组元素。
在 JavaScript 中使用正则表达式
正则表达式是一种字符模式。使用该模式对文本执行模式匹配“搜索和替换”操作。RegExp 对象是 JavaScript 中具有属性和方法的模式。
语法
以下是正则表达式的语法 -
/pattern/modifier(s);
为了更好地理解如何在字符串中使用正则表达式检测和替换所有数组元素,让我们看一下以下示例。
示例
在以下示例中,我们正在运行一个脚本以替换所有数组元素以及正则表达式。
<!DOCTYPE html> <html> <body> <script> let array = ['duke', 'rx100'] let t = "rx100 is more better than the duke." let regexp = new RegExp(array.join('|'), 'gim') t = t.replace(regexp, 'N/A') document.write(t) </script> </body> </html>
当脚本运行时,它将生成一个输出,其中包含一个句子,其中在句子中找到数组元素的位置都被替换为“N/A”,这是由于脚本运行时触发的事件导致的。
示例
考虑以下示例,这里我们使用正则表达式替换字符串中的数组元素。
<!DOCTYPE html> <html> <body> <p id="tutorial"></p> <script> var string = "Welcome to the tp. the best e-way learning"; var replaceArr = ["welome", "tp", "best", "e-way"]; var replaceArrayValue = ["Welcome", "Tutorialspoint", "Best", "E-way"]; var result = string; for (var i = replaceArr.length - 1; i >= 0; i--) { result = result.replace(RegExp("\b" + replaceArr[i].replace(/[-\/\^$*+?.()|[\]{}]/g, '\$&') + "\b", "g"), replaceArrayValue[i]); } document.getElementById("tutorial").innerHTML = result; </script> </body> </html>
运行上述脚本后,输出窗口将弹出,显示由于运行脚本时触发的事件导致的,被脚本中提到的元素替换的句子。
示例
让我们执行以下代码来观察如何在字符串中使用正则表达式检测和替换数组元素。
<!DOCTYPE html> <html> <body> <p id="tutorial"></p> <script> var values = ['John', 'Smith', 'UK', 'JavaScript'] var sentence = "My Name is John Smith. I live in UK. My Favourite Subject is JavaScript." var regularExpression = new RegExp(values.join('|'), 'gim') sentence = sentence.replace(regularExpression, 'Not Available'); document.getElementById("tutorial").innerHTML = sentence; </script> </body> </html>
当脚本执行时,事件被触发,显示一个句子,其中与正则表达式匹配的元素被替换为“不可用”。
广告