JavaScriptにおけるreplace()関数の詳しい説明
JavaScript の replace() 関数は、文字列中の特定のサブ文字列を置換するためのメソッドです。置換するサブ文字列と置換後の文字列という 2 つのパラメーターを受け取ります。
文法
string.replace(検索値, 置き換え値)
パラメーターの説明:
- searchValue:置換する対象となるサブストリング。文字列または正規表現で指定できます。
- 置き換え後の文字列。文字列や関数にすることもできます。
戻り値:
すべての searchValue を replaceValue に置き換えた新しい文字列を返します。
使用例:
- 文字列中のすべての一致を置き換える
let str = "Hello World!";
let newStr = str.replace("World", "JavaScript");
console.log(newStr); // 输出:Hello JavaScript!
- 正規表現を使用して文字列内のすべてのマッチを置換します
let str = "Hello World!";
let newStr = str.replace(/o/g, "0");
console.log(newStr); // 输出:Hell0 W0rld!
- 文字列内のマッチを置換する関数を利用する
let str = "Hello World!";
let newStr = str.replace(/o/g, function(match){
return match.toUpperCase();
});
console.log(newStr); // 输出:HellO wOrld!
関数内では、特殊な置換文字を使用できます。
- $&:正規表現と一致する部分文字列。
- $`:マッチした文字列の左側に位置するテキスト。
- $:マッチした文字列の右側のテキスト。
- $n:非負の整数である $n$ 個目の括弧付きサブストリング
ご留意事項
- replace()関数は、元の文字列を変更せず、新しい文字列を返します。
- searchValueが文字列の場合、replace()は最初のマッチのみを置き換えて、全てのマッチを置き換えるわけではありません。すべてのマッチを置き換えるためには正規表現を使用する必要があり、正規表現に”g”フラグを追加します。
- replace()関数は大小文字を区別するので、検索する文字列と置換元の文字列の大文字小文字を揃えます。