文字列がABC_DEF_GHIなどです。最初の文字列を取得する_
JavaScriptを使用する最初の_(この場合はDEF_GHI)の後にすべてを取得する必要があります。文字列に_がいくつでもあってもかまいません。
私は
var str = "ABC_DEF_GHI_JKL";
var n = str.lastIndexOf('_');
var output = str.substring(n + 1);
ような何かを行う場合はこれが私の最後のアンダースコアの後にすべてを与えるだろう。しかし、私は最初のアンダースコアの後にすべてが必要です。その後、アレイ、_時分割、および低下に私の最初の後にすべてを与えるだろうなfirstIndexOfなどの方法_
そしてdownvoteがためだった?...使用のindexOfはとにかく素晴らしい解決策ではありません。後で2番目の後にすべてを取得したい場合はどうなりますか?これをダウン投票すると、Stack Overflowでどの程度狭いのかがわかります。少なくとも、あなたの下票を説明するマナーを持っています。 – Keith
最初のアンダースコアの後にパートを取得する必要があります。そのための標準的な解決策は 'indexOf'を使うことです。要件が変更された場合は、コードも変更されます。理論的、将来的な要件を解決するコードを追加することに意味はありません。特に、そのコードが直接的な解決策よりも高価な場合。 – str
@strこれは必須条件です - > JavaScriptを使用すると、最初の_(この場合はDEF_GHI)の後にすべてを取得する必要があります。要件は彼のコードを修正することではありませんでした。彼の投稿をもう一度読む。英語が母国語でない場合、私はあなたを許します。何の理由もない投票をするだけで、人々を投票トロールにすることができます。スタックオーバーフローには不向きです。 – Keith