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>


Copyright(C) 2006-2011 CLAYPOT. All Rights Reserved.