String.substring リダイレクト 2

概要

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);
}

関連情報

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

最終更新者: ethertank,