JavaScript 文字列を置き換える(replace)

JavaScriptのreplaceメソッドのサンプルです。
文字列を置き換えます。

目次

replaceメソッド

置換したい文字列 . replace ( 文字列 or 正規表現 , 置換後の文字列)

文字列を置換するサンプル

4行目は、replaceメソッドで文字列を置換しています。

<script>
	var	str1 = "あいうえお";

	var r1 = str1.replace("う","AAA");
	document.write(r1); // あいAAAえお
</script>

文字をORで検索し置換するサンプル(正規表現)

4行目は、正規表現で「う」or「か」を指定しています。
5行目は、「う」が該当するので「う」の箇所が「かき」に置換されます。

<script>
	var	str1 = "あいうえお";

	var p1 = /[うか]/;
	var r1 = str1.replace(p1,"かき");
	document.write(r1); // あいかきえお
</script>

文字をORで検索し置換するサンプル+2文字が該当(正規表現)

4行目は、正規表現で「う」or「え」を指定しています。
5行目は、まず「う」が該当するので置換されます。正規表現の[うえ]はどちらか1文字という意味なので「え」は置換えされません。

<script>
	var	str1 = "あいうえお";

	var p1 = /[うえ]/;
	var r1 = str1.replace(p1,"かき");
	document.write(r1); // あいかきえお
</script>

文字をORで検索し置換するサンプル+gオプション(正規表現)

4行目は、正規表現で「う」or「え」を指定+マッチしたものをすべて返すgオプションを指定しています。
5行目は、「う」が該当するので置換され「え」も該当するので置換されます。

<script>
	var	str1 = "あいうえお";

	var p1 = /[うえ]/g;
	var r1 = str1.replace(p1,"かき");
	document.write(r1); // あいかきかきお
</script>

正規表現の構文

正規表現の構文として以下2つがあります。

var 変数 = /正規表現のパターン/オプション
var 変数 = new RegExp('正規表現のパターン','オプション') 

正規表現の主なパターン

以下は、正規表現の主なパターンです。

パターン パターンの意味
ABD ABDという文字か。
[ABD] A or B or Dのどれか1文字が入っているか。
[^ABD] A と B と D以外の1文字が入っているか。
[A-D] A or B or C or Dのどれか1文字が入っているか。
A|B|D A or B or Dのどれか1文字が入っているか。
[a-zA-Z] 英字の小文字のaからzまたは大文字のAからZのどれか1文字が入っているか。
^A 先頭の文字はAか。
A$ 最後尾の文字はAか。
* *の直前の文字が0回以上の繰り返し
文字がCABでパターンが/AB*/の場合、ABでマッチする。
文字がABBでパターンが/AB*/の場合、ABBでマッチする。
文字が空文字でパターンが/A*/の場合、空文字でマッチする。
文字がABBでパターンが/A*/の場合、Aでマッチする。
文字がCABでパターンが/A*/の場合、空文字でマッチする。
+ +の直前の文字が1回以上の繰り返し
文字がCABでパターンが/AB+/の場合、ABでマッチする。
文字がABBでパターンが/AB+/の場合、ABBでマッチする。
文字が空文字でパターンが/A+/の場合、マッチしない。
文字がABBでパターンが/A+/の場合、Aでマッチする。
文字がCABでパターンが/A+/の場合、Aでマッチする。
? ?の直前の文字が0回または1回の繰り返し
文字がCABでパターンが/AB?/の場合、ABでマッチする。
文字がABBでパターンが/AB?/の場合、ABでマッチする。
文字が空文字でパターンが/A?/の場合、空文字でマッチする。
文字がABBでパターンが/A?/の場合、Aでマッチする。
文字がCABでパターンが/A?/の場合、空文字でマッチする
{n} n回続いている。
・文字がAAAでパターンが/A{3}/の場合、AAAでマッチする。
・文字がAAAAAでパターンが/A{3}/の場合、AAAでマッチする。
{n,} n回以上続いている
・文字がAAAでパターンが/A{3,}/の場合、AAAでマッチする。
・文字がAAAAAでパターンが/A{3,}/の場合、AAAAAでマッチする。
 . 任意の一文字を表す。
・文字がADCやAECでパターンが/A.C/の場合、ADCまたはAECでマッチする。
¥s 比較する文字に、空白1文字がある。
¥S 比較する文字に、空白以外の1文字がある。
¥d 比較する文字に、数字1文字がある。 ([0-9]と同じ)
¥D 比較する文字に、数字以外の1文字がある。  ([^0-9]と同じ)
¥w 比較する文字に、小文字の英字 or 大文字の英字 or 数値 or アンダースコアの1文字がある。
[a-zA-Z0-9_]と同じ
¥W ¥wの否定。
[^¥w]と同じ

正規表現の主なオプション

以下は、正規表現の主なオプションです。

オプション 説明
g マッチしたものをすべて返す(Global search.)
i 大文字と小文字の区別をしない(Case-insensitive search.)
m 複数行をマッチする

関連の記事

JavaScript 文字列を区切り文字で分割する(split)
JavaScript 文字列から文字列の一部を取得する(substring)
JavaScript 文字列から文字列の一部を取得する(slice)
JavaScript 文字列から文字列の一部を取得する(substr)
JavaScript 文字列から1文字を取得する(charAt)
JavaScript 文字列の長さを取得する(length)
JavaScript 文字列の位置を取得するサンプル(indexOfとlastIndexOf)
JavaScript 文字列の大文字と小文字を変換する(toLowerCaseとtoUpperCase)
JavaScript 正規表現で文字列を検索する(match)




△上に戻る