JavaScript - 文字列を置換(変換)する replace()

JavaScriptで文字列を置換(変換)する場合は、 String.replace()メソッドを使います。

単純な文字列だけでなく、 正規表現を使うこともできるため使用頻度の高いメソッドです。

置換後の文字列に空文字('')を指定すれば、文字列を削除することもできます。

replace()メソッドの構文


str.replce(置換対象の文字列(又は正規表現), 置換後の文字列)

コード例


// 文字列(最初の1つだけを変換)
str = str.replace('a', 'x');

// 正規表現(全てのaをxに変換する)
str = str.replace(/a/g, 'x');

一致する最初の文字列1つだけを置換

次のように文字列'a'と指定した場合は、最初に一致する'a'だけを置換します。 残りの'a'は置換されないので注意が必要です。


str = 'abc abc abc';

// 最初の'a'だけを置換
str = str.replace('a', 'x');

console.log(str); // xbc abc abc

一致する全ての文字列を置換

一致する全ての文字列を置換したい場合は正規表現で表し、 「gオプション」を使用します。


str = 'abc abc abc';

str = str.replace(/a/g, 'x');

console.log(str); // xbc xbc xbc

改行を削除

改行を削除したい場合は、正規表現を使い「置換後の文字列」に「空文字」を指定します。


str = 'abc\n' + 'abc\r\n' +  'abc';

str = str.replace(/\r?\n/g, '');

console.log(str); // abcabcabc

\r?\n」と記述することで、 改行コードが「\r\n」と「\n」のどちらの場合でも置換できるようになります。