在Javascript中获取字符串的最后一个单词

12

如何使用 JavaScript / jQuery 从字符串中获取最后一个单词?

在以下情况下,最后一个单词是“Collar”。单词之间用“-”分隔。

Closed-Flat-Knit-Collar
Flat-Woven-Collar
Fabric-Collar
Fabric-Closed-Flat-Knit-Collar

4
目前已有2100位用户查看,我认为这不是一个“局部化”的问题。我已经投票支持“重新开放”。 - LCJ
5个回答

37

为什么所有东西都必须用jQuery?

var lastword = yourString.split("-").pop();

这将把您的字符串分割成单独的组件(例如,ClosedFlatKnitCollar)。然后它会弹出数组的最后一个元素并返回它。在您提供的所有示例中,这是 Collar


1
谢谢解释!你是正确的,我应该只说JS。 - user2238083

8
var word = str.split("-").pop();

6

我看到已经有几个.split().pop()和一个substring()的答案了,所以为了完整起见,这里提供一种正则表达式的方法:

var lastWord = str.match(/\w+$/)[0];

DEMO


3

您不需要使用jQuery来完成此操作。您可以使用纯JavaScript实现:

var last = strLast.split("-").pop();

3

Pop工作得很好--这里有一个替代方案:

var last = str.substring(str.lastIndexOf("-") + 1, str.length);

或者根据评论更简化:

var last = str.substring(str.lastIndexOf("-") + 1);

1
substring 的第二个参数是可选的。如果省略它,将返回字符串的结尾处的所有内容。 - Niet the Dark Absol
@Kolink -- 我同意,只是一直以来都很明确。我更喜欢使用 pop,只是想提供另一种选择。谢谢。 - sgeddes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接