Loose-Info.com
Last Update 2009/03/29
TOP - JavaScript - String - replace()

指定した正規表現(文字列)とマッチした部分の文字列の置換を行います。


戻り値1 = 名前1 .replace( 値1 , 値2 )

戻り値1
文字列の置換を行った結果となる文字列
名前1
Stringオブジェクトの名前
値1
置換する対象となる文字列、もしくはマッチを置換部分検索のためにマッチを試みる正規表現
値2
値1を置き換える文字列

値1が正規表現であり、値2に下記に該当する$を伴う文字があった場合は、続く置換ルールが適用されます。

$$
$

$&
値1でマッチした文字列

$`
値1でマッチした部分文字列より前に位置する文字列

$'
値1でマッチした部分文字列より後ろに位置する文字列

$1 〜 $9
1〜9をnとした場合の、n個目のマッチ結果。この場合のマッチとは( )によるまとまりのマッチを表す
もしnが( )の数以下でn個目ががマッチしていないときは空文字で置換される

$01 〜 $99
01〜99をnnとした場合の、nn個目のマッチ結果。この場合のマッチとは( )によるまとまりのマッチを表す
もしnnが( )の数以下でnn個目ががマッチしていないときは空文字で置換される

(例)
<SCRIPT type="text/javascript"> <!-- function btnclick() { var s = ""; var s1 = new String("abc123"); var s2 = new String("abc123"); var s3 = new String("abc123"); var s4 = new String("a1b2c3"); var s5 = new String("aaabbb"); s += s1.replace("abc", "def") + "\n"; // 文字列を検索して置換 s += s2.replace(/c\d/, "d4") + "\n"; // 正規表現でマッチした結果を置換 s += s3.replace(/(\w)(\d)/, "$2$1") + "\n"; // [$n]を( )ごとのマッチに関して置換 s += s3.replace(/(\w\d)(\w\d)/, "$2$1") + "\n"; // [$n]に2つ目の( )がマッチしないため、 // 空文字列で置換 s += s3.replace(/(\w)(\d)/, "$02$01") + "\n"; // [$nn]を( )ごとのマッチに関して置換 s += s3.replace(/(\w\d)(\w\d)/, "$02$01") + "\n"; // [$nn]に2つ目の( )がマッチしないため、 // 空文字列で置換 s += s4.replace(/\w\d/g, "0") + "\n"; // グローバル指定あり s += s5.replace(/aaa/, "$'") + "\n"; // 正規表現でマッチした以降の文字列で置換 alert(s); } //--> </SCRIPT>