JavaScript 文字列を検索する
JavaScriptでは文字列の検索を行うには「indexOf()」メソッドや「lastIndexOf()」メソッドを使います。「indexOf()」メソッドは文字列の先頭から末尾に向かって検索し、「lastIndexOf()」メソッドは文字列の末尾から先頭に向かって探索します。該当する文字列が見つかった場合は、文字列内での先頭からの位置を返します(最初の文字位置は「0」)。文字列が見つからなかった場合には「-1」を返します。また、indexOf()メソッド、lastIndexOf()メソッドとも、文字列の検索開始位置を2番目のパラメータで指定することができます。2番目のパラメータを省略した場合、「indexOf()」メソッドは文字列の先頭から、「lastIndexOf()」メソッドは文字列の末尾から検索するように設定されています。なお、indexOf()メソッドとlastIndexOf()メソッドはシリアルサーチで、文字列の先頭、または末尾から順番に指定された文字列があるか調べます。より複雑な検索を行う場合は正規表現を使用します。
<body>
<script>
window.addEventListener("load" , function(){
var ele = document.getElementsByTagName("output")[0];
var myString = "数多くの歴史ある仏教寺院、庭園、皇室の宮殿や御所、神社、伝統的な木造家屋で知られています。";
var ptr1 = myString.indexOf("神社");
var ptr2 = myString.indexOf("神社",40);
var ptr3 = myString.lastIndexOf("神社");
ele.innerHTML = "元の文字列:"+myString+"<br>"
ele.innerHTML += "先頭から検索:" +ptr1+"<br>40文字目から検索"+ptr2+"<br>";
ele.innerHTML += "最後から検索:" +ptr3;
}, false);
</script>
<output></output>
</body>