2017-02-04 206 views
0

我想用粗体字符串替换字符串的匹配部分。用粗体字符串替换部分匹配的字符串

const str = 'This is an Example'; 
const term = 'exam'; 

现在我想获得的结果

This is an <strong>Exam</strong>ple 

我试图用一个正则表达式,但接缝处有一个错误的语法也与此例中的大写将被忽略:

const result = str.replace(new RegExp(escapeRegExp(term), 'g'), '<strong>' + term + '</strong>'); 
+0

使用标志'gi',不仅'g'。什么'escapeRegExp'返回? – Xufox

回答

1

如果你想和你需要包括i标志不区分大小写捕捉。另外,如果你想保留原来的情况,而不是与term的情况下替换它,你可以使用一个捕获组,如下所示:

const str = 'This is an Example'; 
 
const term = 'exam'; 
 
const result = str.replace(new RegExp(`(${term})`, 'gi'), '<strong>$1</strong>'); 
 

 
console.log(result);

0

i添加标志上表达:

执行不区分大小写的匹配

new RegExp(term, 'gi')