avaScriptの文字列オブジェクトには、replace()メソッドがあります。このメソッドを使うことで、文字列の中で指定された検索文字列を置換文字列に置き換えることができます。
目次
replace()メソッドによる置換
replace()メソッドは、最初にマッチした検索文字列のみを置換します。もし、すべての検索文字列を置換したい場合は、正規表現を使用する必要があります。以下に、replace()メソッドの使い方の例を示します。
let str = "Hello, world! Hello, JavaScript!";
let newStr = str.replace("Hello", "Hi");
console.log(newStr); // "Hi, world! Hello, JavaScript!"
replaceAll()メソッドによる置換
JavaScriptの最新バージョンであるES2021(ECMAScript 12)からは、replaceAll()メソッドが使えるようになりました。このメソッドは、置換対象の文字列が複数ある場合に、一度にすべて置換してくれるという点が異なります。
let str = "Hello, world! Hello, JavaScript!";
let newStr = str.replaceAll("Hello", "Hi");
console.log(newStr); // "Hi, world! Hi, JavaScript!"
正規表現による置換
正規表現を使えば、より高度な検索・置換ができるようになります。例えば、置換対象の文字列にマッチする文字列をすべて置換したり、マッチした文字列に基づいて置換後の文字列を動的に生成することもできます。
let str = "Hello, world! Hello, JavaScript!";
let newStr = str.replace(/Hello/g, function(match) {
return match.toUpperCase();
});
console.log(newStr); // "HELLO, world! HELLO, JavaScript!"
以上が、JavaScriptで文字列を置換する方法の紹介です。replace()メソッドは基本的な置換に使い、より高度な検索・置換を行いたい場合は正規表現を使うことをおすすめします。また、最新のJavaScriptでは、replaceAll()メソッドが使えるため、置換対象が複数ある場合にはこちらを使うこともできます。