mozilla
Your Search Results

    String.prototype.substring()

    概要

    String オブジェクトの部分集合を返します。

    String のメソッド
    実装されたバージョン JavaScript 1.0
    ECMAScript エディション ECMA-262

    構文

    String.substring(indexA,indexB)

    引数

    indexA
    0 と 文字列の長さから 1 引いた数の間にある整数
    indexB
    任意。0 から文字列の文字数までの整数

    詳細

    substringindexA から indexB 未満の文字を取り出します。特に、

    • indexAindexB と等しい場合、 substring は空の文字列を返します。
    • indexB が省略された場合、substring は文字列の最後までの文字を取り出します。
    • 両方の引数が 0 未満、あるいは、 NaN だった場合、 それは 0 だったものとして扱われます。
    • 両方の引数が stringName.length より大きかった場合、それは stringName.length だったものとして扱われます。

    indexAindexB より大きかった場合、substring は 2 つの引数が交換されたものとして実行されます。 すなわち、str.substring(1, 0) == str.substring(0, 1) は真となります。

    例: substring メソッドの使用

    以下の例は、"Mozilla" という文字列から取り出した文字を表示するために substring メソッドを使用しています。:

    // ※出力用の println 関数は既に定義されているものとする
    
    var anyString = "Mozilla";
      
    // "Moz" を表示します
    println( anyString.substring(0, 3) );
    println( anyString.substring(3, 0) );
    
    // "lla" を表示します。
    println( anyString.substring(4, 7) );
    println( anyString.substring(7, 4) );
    
    // "Mozill" を表示します
    println( anyString.substring(0, 6) );
    
    // "Mozilla" を表示します
    println( anyString.substring(0, 7) );
    println( anyString.substring(0, 10) );

    例: 文字列内の部分文字列を置き換える

    以下の例は、文字列内の部分文字列を置き換えます。それは個々の文字と部分文字列の両方を置き換えるでしょう。例の最後で呼ばれる関数は、"Brave New World" を "Brave New Web" に変更します。

    function replaceString(oldS, newS, fullS) {
        // fullS という文字列内で oldS を newS に置き換えます。
    
        for (var i = 0; i < fullS.length; i++) {
            if ( fullS.substring(i, i + oldS.length) == oldS ) {
                fullS = fullS.substring(0, i) +
    	        newS +
    	        fullS.substring(i + oldS.length, fullS.length);
            }
        }
    
        return fullS;
    }
    
    replaceString("World", "Web", "Brave New World");

    ※上記コードはあくまで substring メソッドの説明の為のものであり、不完全です。oldS 自体が newS の部分文字列である場合……例えば "世界" と "新世界" を置換しようとした場合、これは無限ループになってしまいます。実践的なコードは、以下の様なものになります。

    function replaceString(oldS, newS, fullS) {
        return fullS.split(oldS).join(newS);
    }

    関連情報

    ドキュメントのタグと貢献者

    Contributors to this page: Potappo, teoli, ethertank, Mgjbot
    最終更新者: teoli,