3

私のコードは:

var st="man myfile=l/p/nm.mp3 yourfile=/o/mj/nnc.mp3 ou p";
var patt=/myfile.[\W|\w]*.mp3\s/;
var s=patt.exec(st);
var s2=s.slice(3,4);
alert(s2);

しかし、slice()は私に何も与えず、substr()メソッドは私にエラーを与えます:

Object doesn't support this method

なんで?

4

2 に答える 2

1

ファブリシオは正しい。変数sはRegExpオブジェクトです。サブストリングにアクセスするには、次のことを行う必要があります。

var s2 = s[0].substr(3,4);

jsFiddleはこちら

于 2013-02-16T15:36:34.457 に答える
0

slice:slice()メソッドは、配列内の選択された要素を新しい配列オブジェクトとして返します。

substring:substring()メソッドは、指定された2つのインデックスの間の文字列から文字を抽出し、新しいサブ文字列を返します。

var st="man myfile=l/p/nm.mp3 yourfile=/o/mj/nnc.mp3 ou p";
var patt=/myfile.[\W|\w]*.mp3\s/;
var s=patt.exec(st); 

sこれで、以下を含む配列になります。["myfile=l/p/nm.mp3 yourfile=/o/mj/nnc.mp3 "]

var s2=s.slice(3,4);

要素3が存在しないため、を返しますnull

それについてsubstringは配列では使用できません:)したがって、uは次のようなことを行う必要があります:

var s2=s[0].substring(3,4);
于 2013-02-16T15:38:32.670 に答える