10

JavascriptString.indexOfは、文字列内の検索語のインデックスを返します。

検索文字列の先頭から、文字列が最初に見つかった位置のインデックスを返します。例:

'abcdefghijklmnopqrstuvwxyz'.indexOf('def') = 3;

ただし、検索の最後から取得する必要があります。たとえば、次のようになります。

'abcdefghijklmnopqrstuvwxyz'.indexOf('def') = 6; //essentially index + searchString.length

String.substr返された値から、その時点の後の文字列を取得できるようにします。

4

2 に答える 2

14

これを単純な関数で並べてみたのですが、書いてみると、なぜJavaScriptに実装されていないのか理解できないほど単純で便利だと思いました!?

String.prototype.indexOfEnd = function(string) {
    var io = this.indexOf(string);
    return io == -1 ? -1 : io + string.length;
}

望ましい結果が得られます

'abcdefghijklmnopqrstuvwxyz'.indexOfEnd('def'); //6

EDIT には lastIndexOf 実装も含まれる場合があります

String.prototype.lastIndexOfEnd = function(string) {
    var io = this.lastIndexOf(string);
    return io == -1 ? -1 : io + string.length;
}
于 2013-09-19T11:29:02.937 に答える