在JavaScript中搜索最后一个单词

Tx3*_*Tx3 4 javascript string

我正在为句子上的最后一个字做一些逻辑.单词由空格或" - "字符分隔.

最简单的方法是什么?

编辑

我可以通过从句子末尾向后移动来做到这一点,但我想找到更好的方法

mae*_*ics 16

尝试拆分匹配空格或连字符并使用最后一个元素的正则表达式:

var lastWord = function(o) {
  return (""+o).replace(/[\s-]+$/,'').split(/[\s-]/).pop();
};
lastWord('This is a test.'); // => 'test.'
lastWord('Here is something to-do.'); // => 'do.'
Run Code Online (Sandbox Code Playgroud)

正如@alex指出的那样,值得修剪任何尾随空格或连字符.确保参数是一个字符串也是一个好主意.


Mar*_*ahn 6

使用正则表达式:

/.*[\s-](\S+)/.exec(str)[1];
Run Code Online (Sandbox Code Playgroud)

这也忽略了最后的空白区域