1

たとえば、長い文字列があるとします。

var sentence = "Marry had a little lamb, Peter had a little wolf, the wolf ate the little lamb and the little wolf was happy.";

文字列内の部分文字列「Peter」の位置を見つける必要があります。

もちろん、それはですvar pos = sentence.indexOf("Peter");

しかし今、私は問題を抱えています-部分文字列「lamb」の最後の出現と、の部分文字列「wolf」before pos最初の出現を見つける必要があります。 pos

それ、どうやったら出来るの?純粋なJavascriptをお願いします。jQueryは使用しないでください。

4

2 に答える 2

4

どうですか:

var pos = sentence.indexOf("Peter");
var pos2 = sentence.lastIndexOf("lamb", pos);
var pos3 = sentence.indexOf("wolf", pos);

例: http: //jsfiddle.net/ZqsfZ/

ここで重要なのは、のfromIndexパラメータですlastIndexOf。これにより、指定されたインデックスから、単語の最初の出現を文字列(逆方向)で検索できます。

lastIndexOfおよびのドキュメントを参照してくださいindexOf

于 2012-05-28T17:45:50.843 に答える
1
var sentence = "Marry had a little lamb, Peter had a little wolf, the wolf at the little lamb and the little wolf was happy.";
var pos = sentence.indexOf("Peter");
var last_lamb = sentence.substr(0,pos).lastIndexOf("lamb");
var first_wolf = sentence.indexOf("Peter", pos);
于 2012-05-28T17:44:06.983 に答える