我试图替换字符串中的值和另一个值的所有出现
到目前为止我所拥有的是什么
var result = "Cooker Works"
var searchterm = "cooker wor";
searchterm.split(" ").forEach(function (item) {
result = result.replace(new RegExp(item, 'g'), "<strong>" + item + "</strong>");
});
console.log(result)Run Code Online (Sandbox Code Playgroud)
我想要的结果应该是这样的
result = "<strong>Cooker</strong> <strong>Wor</strong>s";
Run Code Online (Sandbox Code Playgroud)
我在处理案件时遇到问题,有什么方法可以忽略这一点,但仍然得到我追求的结果
您需要使用i修饰符进行不区分大小写的匹配
new RegExp(item, 'ig')
Run Code Online (Sandbox Code Playgroud)
var result = "Cooker Works"
var searchterm = "cooker wor";
searchterm.split(" ").forEach(function(item) {
var matchs = result.match(new RegExp(item, 'ig'));
if (matchs.length)
result = result.replace(new RegExp(item, 'ig'), "<strong>" + matchs[0] + "</strong>");
});
console.log(result)Run Code Online (Sandbox Code Playgroud)
您将使用捕获组和i(ignoreCase) 修饰符获得所需的结果。您可以使用$1.
var result = "Cooker Works";
var searchterm = "cooker wor";
searchterm.split(" ").forEach(function(item) {
result = result.replace(new RegExp(`(${item})`, 'ig'), "<strong>$1</strong>");
});
console.log(result)Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅 MDN:https : //developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |