JavaScriptにおける文字列の置換
JavaScriptにおける文字列の置換
基本的な文字列置換
String.prototype.replace()
メソッドを使用して、文字列内の特定の部分を別の文字列に置換できます。
let str = "Hello, world!";
let result = str.replace("world", "JavaScript");
console.log(result); // "Hello, JavaScript!"
この例では、最初に一致する「world」を「JavaScript」に置換しています。
全ての一致部分を置換する
デフォルトでは、replace()
メソッドは最初に一致した部分のみを置換します。全ての一致部分を置換するには、正規表現とg
フラグを使用します。
let str = "apple, apple, apple";
let result = str.replace(/apple/g, "orange");
console.log(result); // "orange, orange, orange"
この方法で、文字列全体で一致するすべての「apple」が「orange」に置換されます。
大文字小文字を無視して置換する
正規表現でi
フラグを使用すると、大文字小文字を無視して置換できます。
let str = "Hello, WORLD!";
let result = str.replace(/world/i, "JavaScript");
console.log(result); // "Hello, JavaScript!"
この例では、「WORLD」も「world」として一致します。
置換時に関数を使用する
replace()
メソッドの第2引数に関数を指定することで、動的な置換が可能です。
let str = "Today is a sunny day.";
let result = str.replace(/\b\w+\b/g, (match) => match.toUpperCase());
console.log(result); // "TODAY IS A SUNNY DAY."
この例では、文字列内のすべての単語を大文字に変換しています。
正規表現を使用した置換
正規表現を使うことで、より高度な置換が可能です。
let str = "123-456-7890";
let result = str.replace(/(\d{3})-(\d{3})-(\d{4})/, "($1) $2-$3");
console.log(result); // "(123) 456-7890"
この例では、電話番号のフォーマットを変更しています。
複数の置換を連続で行う
replace()
をチェーンして使用することで、複数の置換を順番に行うことができます。
let str = "I like apples and bananas.";
let result = str.replace("apples", "oranges").replace("bananas", "grapes");
console.log(result); // "I like oranges and grapes."
この方法で、複数の異なる部分を簡単に置換できます。