2017-02-04 26 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

に一致する大文字と小文字を区別しない実行します。あなたはむしろ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フラグを追加します。

あなたはケース非感受性でキャプチャする場合は、iフラグを含める必要が

new RegExp(term, 'gi') 
関連する問題