String.prototype.replace()

(標準組み込みオブジェクト > String > メソッド)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace

文字列.replace(対象の文字, 置換する文字)

String オブジェクトの replace メソッドは、対象の文字列の中の指定した文字列を別の文字列に置換する。
引数の置換する文字列には、文字列または正規表現オブジェクトを指定する。対象の文字列の中に含まれる 1 番目で指定した文字列を 2 番目で指定した文字列に置換する。対象の文字列に変更は行わず、置換したあとの新しい文字列が返される。

ただし、対象の文字列の中に 1 番目の引数に指定した文字列と一致するものが複数あった場合でも、置換されるのは最初に見つかった文字列だけなので注意が必要である。

なお、第2引数には「置換する文字」を指定するが、ここに関数を指定することも可能である。そのため、対象となる文字を抽出したあとに、独自に作った関数で複雑な処理を行うことができるようになる。

let str = 'red bird and red flower';
let newstr = str.replace('red', 'Red');

console.log(newstr);
>> Red bird and red flower
// ※文字列の中に'red' が複数含まれていたが、置換されたのは最初の 'red' だけ。

// 正規表現のグループ化を利用して「性」「名」を反対に置換
var str = 'Sato Taro';
var result = str.replace( /(\w+)\s(\w+)/, '$2 $1' );
 
console.log( result );
>> Taro Sato
// ※グループ化すると、「Sato」が「$1」に代入され「Taro」が「$2」に代入される。
// そのため、置換する文字を「’$2 $1’」と反対に記述すれば「姓・名」も反対になる。

// abcdefgのcとeそれぞれを大文字にする
var str = 'abcdefg';
var replaced = str.replace(/[ce]/g,function(str){
 return str.toUpperCase();
});
// replaced 'abCdEfg'
inserted by FC2 system