Search
  1. 正規表現による文字列置換〔repace()メソッド〕

正規表現による文字列置換
repace()メソッド

unknown

文字列.replace(パターン,置換文字列)

文字列中にパターンと一致する文字列があるかどうか調べます。 一致する文字列がある場合は、文字列を置換文字列で置換した文字列を返します。 一致する文字列がない場合は、文字列がそのまま返ります。

<script type="text/javascript">
    /* 一致する文字列がない場合 */
    var oldStr="Hello World!";
    var newStr=oldStr.replace(/wooold/,"World");
    document.write("置換前の文字列1="+oldStr+"<br \/>");
    document.write("置換後の文字列1="+newStr+"<br \/>");
</script>

大文字・小文字も一致するか調べます。 大文字・小文字の一致を調べない場合には、パターンにフラグ「i」を指定します。

<script type="text/javascript">
    var oldStr="Hello World!";
    var newStr=oldStr.replace(/world/,"Japan");
    document.write("置換前の文字列1="+oldStr+"<br \/>");
    document.write("置換後の文字列1="+newStr+"<hr>");

    var oldStr="Hello World!";
    var newStr=oldStr.replace(/World/,"Japan");
    document.write("置換前の文字列2="+oldStr+"<br \/>");
    document.write("置換後の文字列2="+newStr+"<hr>");

    /* フラグiを指定すると大文字小文字が一致するかは調べません */
    var oldStr="Hello World!";
    var newStr=oldStr.replace(/world/i,"Japan");
    document.write("置換前の文字列3="+oldStr+"<br \/>");
    document.write("置換後の文字列3="+newStr+"<br \/>");
</script>

パターンにフラグ「g」を指定すると、一致する文字列全てが置換されます。 それ以外の場合は、最初に見つかった一致する文字列のみが置換されます。

<script type="text/javascript">
    /* globalサーチ:文字列中にある'a'を全て'A'に置換 */
    var obj=RegExp(/a/g);
    var oldStr="I like an apple and a pineapple!";
    var newStr=oldStr.replace(/a/g,'A');
    document.write("置換前の文字列="+oldStr+"<br \/>");
    document.write("置換後の文字列="+newStr+"<br \/>");
</script>

<script type="text/javascript">
    /* 文字列中の最初に見つかった'java'を'mysql'に置換 */
    var oldStr="I study hard for java and javascript.";
    document.write("置換前の文字列="+oldStr+"<br \/>");
    var newStr=oldStr.replace("java","mysql");
    document.write("置換後の文字列="+newStr+"<br \/>");
</script>

また、フラグに「gi」の両方を指定すると、大文字小文字を区別せずに、一致する文字列全てを置換します。

<script type='text/javascript'>
    var oldStr="I Love JAPAN! My favorite is japanese food and japanese Sakura!! Sushi, Takoyaki etc... I want to go to Japanese Restrant!";
    var newStr=oldStr.replace(/japan/gi,"日本");
    document.write("置換前の文字列1="+oldStr+"<hr \/>");
    document.write("置換後の文字列1="+newStr);
</script>

replaceメソッドと$1~$9プロパティ

Stringクラスのreplaceメソッドと$1~$9プロパティを使って、高度な置換が可能。

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women