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>