6

この表現を言葉に訳していただけませんか?

split(/\s+/).pop()

それはjavascriptであり、正規表現を使用して文字列を分割しますが、原則は何ですか?

4

2 に答える 2

20

このコード行は、文字列を空白で分割して単語の配列を作成し、最後の単語を返します。

おそらく、これがある種の文字列で使用されているのを見たことがあるでしょう。

var someString = "Hello, how are you today?";
var lastWord = someString.split(/\s+/).pop();

その場合lastWordは になります"today?"

一度に 1 ステップずつ行った場合:

var someString = "Hello, how are you today?";
var words = someString.split(/\s+/);

wordsは配列です:["Hello,", "how", "are", "you", "today?"]

それで:

var lastWord = words.pop();

現在lastWordは、配列の最後の項目"today?"です。

この.pop()メソッドは、実際には配列から最後の項目を削除 (およびそれを返します) するため、2 番目の例でwords["Hello,", "how", "are", "you"].

最初の例のようにすべてを 1 行で行うと、配列への参照を実際に保持することはなく、 によって返された最後のアイテムを保持するだけです.pop()

MDN には、 に関する詳細情報があり.split()ます。

文字列から最後の単語を取得する別の方法は次のとおりです。

var lastWord = someString.substr( someString.lastIndexOf(" ") + 1 );
于 2013-08-04T01:54:42.757 に答える