String.prototype.replace() は、文字列内の検索文字列をある置換文字列に置き換えるメソッドです。このメソッドは、最初に見つかった一致のみを置き換えるか、すべての一致を置き換えるかを指定できます[1]

構文

編集
str.replace(searchValue, replaceValue)
  • searchValue: 置き換える文字列または正規表現。
  • replaceValue: 置き換え先の文字列または関数。

文字列を置き換えるプログラム

編集

以下のプログラムは、String.prototype.replace() を使用して文字列内の部分文字列を置き換えます。

const str = "Hello world!";
const newStr = str.replace("world", "JavaScript");
console.log(newStr); // "Hello JavaScript!"

このプログラムでは、String.prototype.replace() を使用して str 文字列内の "world" を "JavaScript" に置き換えています。結果として "Hello JavaScript!" という新しい文字列が返されます。

正規表現を使用して複数の一致を置き換えるプログラム

編集

以下のプログラムは、String.prototype.replace() を使用して正規表現に一致するすべての部分を置き換えます。

const str = "apple, banana, orange";
const newStr = str.replace(/a/g, "A");
console.log(newStr); // "Apple, bAnAnA, orAnge"

このプログラムでは、String.prototype.replace() を使用して str 文字列内のすべての "a" を "A" に置き換えています。正規表現の g フラグを使用することで、すべての一致を置き換えることができます。

関数を使用して動的に置き換えるプログラム

編集

以下のプログラムは、String.prototype.replace() を使用して関数による動的な置き換えを行います。

const str = "2023-01-15";
const newStr = str.replace(/(\d{4})-(\d{2})-(\d{2})/, function(match, year, month, day) {
  return `${day}/${month}/${year}`;
});
console.log(newStr); // "15/01/2023"

このプログラムでは、String.prototype.replace() を使用して日付の形式を変換しています。正規表現のキャプチャグループを使用して年、月、日を取得し、それらを関数内で新しい形式に組み立て直しています。

注意点

編集
  • 元の文字列は変更されない: このメソッドは元の文字列を変更せず、新しい文字列を返します。
  • 最初の一致のみ: デフォルトでは、最初に見つかった一致のみが置き換えられます。すべての一致を置き換えるには、正規表現の g フラグを使用する必要があります。
  • 特殊な置換パターン: replaceValue が文字列の場合、$&$1 などの特殊な置換パターンを使用できます。

脚註

編集
  1. ^ これは、文字列内の部分文字列を検索して置き換えるために使用されます。

外部リンク

編集