2017-02-04 175 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')