JavaScriptで文字列を置換する方法:replace()

文字列に含まれている特定の文字列を置換する場合にはreplace関数を使用します。replace関数は特定の文字列または正規表現のパターンで指定された文字列を特定の文字列または関数を使用して作成された文字列で置き換えることができます。関数の結果としては、置換された文字列が返されます。

replace関数の使い方

replace関数の書式は以下の通りです。

置換対象を含んだ文字列.replace(置換対象の文字列, 置換後の文字列または関数)

第1引数には、文字列だけでなく正規表現を指定することもできます。返り値には置換後の文字列が返されます。

特定の文字列を置換する場合

特定の文字列を指定した文字列に置換します。

var tagetString = "Apple is the fruit.";
var reString = "Apple";
var repStrung = "Orange";
var result;
result = tagetString.replace(reString, repStrung);

結果は"Orange is the fruit."となります。

正規表現を用いて置換する場合

置換対象を正規表現でのパターンで指定して置換を行います。

var tagetString = "Apple is the fruit. There is a variety of apple";
var reString = /apple/gi;  // 複数を置換する時は"g"を、
                           // 大文字/小文字の区別をしない場合には"i"を指定します。
var repStrung = "orange";
var result;
result = tagetString.replace(reString, repStrung);

結果は"orange is the fruit. There is a variety of orange"となります。

置換後の文字列を関数で作成する場合

置換対象のパターンにマッチした文字列に対応した関数を使用して置換を行います。

function replaceString(orignal, p, offset, target) {
// orignal: 正規表現にマッチした文字列がセットされる。
 if ([orignal] == "Apple") {
     return "Orange";
  } else {
     return "orange";
  }
}

var tagetString = "Apple is the fruit. There is a variety of apple.";
var newString = tagetString.replace(/apple/gi, replaceString);

結果は"Orange is the fruit. There is a variety of orange."となります。


イベント