sec*_*ecr 4 javascript regex split
你能把这个表达翻译成文字吗?
split(/\s+/).pop()
Run Code Online (Sandbox Code Playgroud)
它是在javascript中使用正则表达式来分割字符串,但原则是什么?
nnn*_*nnn 16
该行代码将在空格上分割一个字符串以创建一个单词数组,然后返回最后一个单词.
据推测,你已经看到过在某种字符串上使用过的,例如:
var someString = "Hello, how are you today?";
var lastWord = someString.split(/\s+/).pop();
Run Code Online (Sandbox Code Playgroud)
在这种情况下lastWord会"today?".
如果你一次只做一步:
var someString = "Hello, how are you today?";
var words = someString.split(/\s+/);
Run Code Online (Sandbox Code Playgroud)
现在words是数组:["Hello,", "how", "are", "you", "today?"]
然后:
var lastWord = words.pop();
Run Code Online (Sandbox Code Playgroud)
现在lastWord是数组中的最后一项,即"today?".
该.pop()方法实际上也从数组中删除了最后一项(并返回它),所以在我的第二个例子中words,它将会改变["Hello,", "how", "are", "you"].
如果你像我在第一个例子中那样在一行中完成所有操作,那么你实际上并没有实际保留对数组的引用,只保留返回的最后一项.pop().
MDN有更多信息.split().
从字符串中获取最后一个单词的另一种方法如下:
var lastWord = someString.substr( someString.lastIndexOf(" ") + 1 );
Run Code Online (Sandbox Code Playgroud)