JavaScript 指定範囲の文字を抜き出す

最終更新日

指定範囲の文字列を抜き出すには、「substring()」メソッドや「slice()」メソッド、「substr()」メソッドを使います。文字の範囲を指定して抜き出す場合はsubstring()メソッドかslice()メソッド、文字数を指定して抜き出す場合はsubstr()メソッドを使います。文字の位置は、下図に示すように、文字を挟むようになっており、パラメータには、この範囲で指定することになります。たとえばsubstring(2,5)とすると、下図のように3文字目から5文字目まで抜き出されます。

substringメソッドは、負数を指定して文字列の末尾から抜き出すことはできません。負数を指定して末尾から抜き出すにはslice()メソッドを使います。substring()メソッドもslice()メソッドも、最初のパラメータが開始位置、2番目が終了位置になります。substr()メソッドは、最初に指定したパラメータが示す文字列の位置から、2番目に指定したパラメータ分だけ文字列を抜き出します。また、最初のパラメータに負数を指定すると、末尾から抜き出すことができます。

<body>
<script>
    window.addEventListener("load" , function(){
        var ele = document.getElementsByTagName("output")[0];
        //文字列を代入
        var myString = "JavaScript";
        //3文字目から5文字目の文字を取り出す
        var str1 = myString.substring(2,5);
        //3文字目から最後まで取り出す
        var str2 = myString.substring(2);
        //4文字目から5文字分取り出す
        var str3 = myString.substr(3,5);
        //文字列の最後から3文字分を取り出す
        var str4 = myString.substr(-3);
        //文字列の最後から数えて2から4文字分を取り出す
        var str5 = myString.slice(-4,-2);
        ele.innerHTML = "(1)"+str1+"<br>"
        ele.innerHTML += "(2)"+str2+"<br>"
        ele.innerHTML += "(3)"+str3+"<br>"
        ele.innerHTML += "(4)"+str4+"<br>"
        ele.innerHTML += "(5)"+str5

    }, false);
    
</script>
    <output></output>
</body>
実行結果
実行結果