JavaScriptを使用して文字列のすべての出現を置換する


過去には、JavaScriptで頻繁に現れる文字や単語を置き換えるだけで、多くの回避策をしなければなりませんでした.
まあ、これ以上.このブログのアイデアは、新しい機能を認識することです.replaceAll
//For legacy browsers, the following code replaced all occurrences.

function replaceAll(str, find, replace) {
  return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}
しかし、現在、我々は強力な機能replaceallを持っています.
これは、文字列に置き換えることができますか、置換するものを識別するための正規表現.
const src = 'We replace all the occurrences by replacing the word with keep';

const replaced = src.replaceAll('replace', 'keep');

console.log(replaced);
// Outputs: This string keeps two occurrences of the substring keep

console.log(src)
//Outputs: We replace all the occurrences by replacing the word keep
興味深いことは、元の文字列が変化しないことです.
機能.replaceAll Firefox 77、Chrome 85、Safari 13.1以降のすべての主要ブラウザで利用可能です.
この関数の一般的な見方は以下の通りです.
replaceAll(regexp, newSubstr)
replaceAll(regexp, replacerFunction)

replaceAll(substr, newSubstr)
replaceAll(substr, replacerFunction)

選択肢はありますか。


確かにあります.
以前に、置換機能は最初の出来事に取って代わっただけです.私が上で言ったように、すべての単語が取り替えられるまで、我々は世界的な旗でそれを呼ぶ必要があります.
我々がRegexでRegexを使うときg フラグは、同様にレガシーブラウザーのために動作します.
const src = 'My favorite color of all colors is orange';

const replaced = src.replaceAll(/color/g, 'fruit');

console.log(replaced);
// Outputs: My favorite fruit of all fruits is orange
同様に、joinメソッドとsplitメソッドを使用して単語を置換できます.
const src= 'Are we live? lively folks!';

const replaced = src.split('live').join('home');

console.log(replaced);
// Outputs: Are we home? homely folks!
それは私の側からです.私は新しい機能を学んで、人々にこれに気づいて欲しかったです.
私たちの退屈な方法を置き換えるために使用できるreplaceAllと同様の機能がある場合は私に知らせてください!