文字列の置換
"検索対象文字列".replace(検索パターン, "置換後の文字列");
replace()は文字列の置換です。
検索パターンは "文字列" と /正規表現/ の両方に対応している
基本的に最初にヒットした1回しか置換しません。
全てを置換するためには正規表現を使用し gスイッチ を付ける必要があります
戻り値は置換後の文字列です。
置換できなかったら「置換前の文字列」がそのまま返ります
正規表現にてキャプチャ()を利用した場合、キャプチャ内容は特殊文字「$1,$2,$3…」で再利用できる。
$1が1番目にキャプチャした内容で、置換後の文字列に使用できます。(これは変数ではありません)
replace()におけるキャプチャ例 "山田 太郎".replace(/(\S+)\s(\S+)/, "$2 $1"); //「太郎 山田」となる //これは変数です RegExp.$1 //山田 RegExp.$2 //太郎
他の特殊文字としては次のようなものがあります
$` | ヒットした文字列より前方にある全ての文字列 |
---|---|
$' | ヒットした文字列より後方にある全ての文字列 |
第二引数に関数を使うと高度な置換ができます。詳しくはマニュアルで