9

私がそのような文字列を持っている場合:

var str = 'Arthropoda_Arachnida_Zodariidae_Habronestes_hunti';

最後のアンダースコアの後の文字列の最後の部分だけを取得するにはどうすればよいですか?

また、アンダースコアがない場合は、元の文字列を返すだけです。

この場合、私は'hunti'

4

3 に答える 3

26
var index = str.lastIndexOf("_");
var result = str.substr(index+1);
于 2012-12-12T02:46:59.590 に答える
11

とても簡単です。文字列をアンダースコアで分割し、最後の要素を取ります。

var last = str.split("_").pop();

これは、文字列にアンダースコアが含まれていない場合でも機能します (必要に応じて元の文字列を返します)。

于 2012-12-12T02:44:51.897 に答える
3

正規表現を使用できます。

'Arthropoda_Arachnida_Zodariidae_Habronestes_hunti'.match(/[^_]*$/)[0];
于 2012-12-12T03:03:57.977 に答える