javascript:抓取空格后的最后一个字符串

javascript:抓取空格后的最后一个字符串,javascript,Javascript,如果我有一个字符串,其中可以有任意数量的项目用空格分隔,即:“ab abc”或“ab abc abcd”,我如何设置一个变量来始终抓住最后一个项目(第一种情况下是abc,第二种情况下是abc)?用空格分割数组。抓取数组中的最后一个元素 例如 基本正则表达式 "asdf asdfffffff".match(/\s([^\s]+)$/)[1] \s匹配空格 ([^\s]+)匹配一系列非空白字符 $匹配行尾 您可以构建这样一个简单的函数: function getLastWord(string)

如果我有一个字符串,其中可以有任意数量的项目用空格分隔,即:“ab abc”或“ab abc abcd”,我如何设置一个变量来始终抓住最后一个项目(第一种情况下是abc,第二种情况下是abc)?

用空格分割数组。抓取数组中的最后一个元素

例如


基本正则表达式

"asdf asdfffffff".match(/\s([^\s]+)$/)[1]
  • \s
    匹配空格
  • ([^\s]+)
    匹配一系列非空白字符
  • $
    匹配行尾

您可以构建这样一个简单的函数:

function getLastWord(string) {
  var newString = string.split(" ");
  return newString[newString.length - 1];
}
并通过以下方式进行调用:

var word = getLastWord("My name is Simone"); /* Will result "Simone" */
试一试

看,

var str=“ab abc abcd”;

document.write(_str)
如果你不喜欢数组,那么一行
s.split(“”.pop()
也就足够了。@IngoBürk-更好!如果你说的是速度,那么chrome/ie中的pop()比你现在实际引用上一个索引要慢。如果这需要如此高效才能起作用,那你就有更大的问题了。你为什么要用正则表达式来完成这么简单的任务?更重要的是,考虑到OP显然处于初级水平(编辑:抱歉,-1是一个意外事件--将其取消),并重新添加了-1以表示粗鲁并标记它。关于你的编辑:是的,从技术上来说,这是一个有效的答案。我不明白为什么你会用这么重的工具来处理一个简单的问题,这就证明了你的无礼。事实上,过度设计的解决方案是进行讨论和/或否决的一个很好的理由。但那不是我的目的。当没有空间的时候?
var word = getLastWord("My name is Simone"); /* Will result "Simone" */
var str = "ab abc abcd", _str = str.substring(str.lastIndexOf(" ") + 1)