「Hello_World_1_x.txt」などの文字列があり、最後のアンダースコアの後と.txtの前にあるものを取得したいと思います。.txt はアンダースコアと同様に常に存在しますが、多くのアンダースコアが存在する可能性があります。.split() を使用して最後の 4 文字を削除しましたが、LAST アンダースコアの後にあるものだけが必要です。これまでのところ、私の正規表現は最初のアンダースコアの後のものだけを提供します。
質問する
67 次
5 に答える
5
標準の文字列関数を使用できます。
var result = s.substring(s.lastIndexOf("_") + 1, s.lastIndexOf("."));
于 2013-11-11T16:07:56.793 に答える
1
于 2013-11-11T16:11:20.710 に答える
0
var s = "Hello_World_1_x.txt";
var a = s.split(/[._]/);
console.log( a[a.length-2] ); // "x"
これは、「文字列をピリオドまたはアンダースコアで分割し、最後から 2 番目の部分を選択する」ことを示しています。
var s = "Hello_World_1_x.txt";
var a = s.split(/[._]/);
a.pop(); var last = a.pop();
console.log( last ); // "x"
于 2013-11-11T16:08:09.023 に答える