2013-06-15 16 views
9

Jak możemy uzyskać ostatnie słowo z ciągu znaków przy użyciu JavaScript/jQuery?Uzyskiwanie ostatniego słowa z ciągu znaków w JavaScript

W poniższym scenariuszu ostatnim słowem jest "kołnierz". Słowa są oddzielone "-".

Closed-Flat-Knit-Collar 
Flat-Woven-Collar 
Fabric-Collar 
Fabric-Closed-Flat-Knit-Collar 
+2

Nie sądzę, że jest to 'localized' pytanie. I obejrzało go już 2100 użytkowników. Głosowałem za "ponownym otwarciem" – Lijo

Odpowiedz

32

Dlaczego wszystko musi być w jQuery?

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

To będzie podzielić ciąg na poszczególne składniki (na exampe, Closed, Flat, Knit, Collar). Następnie wyskoczy z ostatniego elementu tablicy i zwróci go. We wszystkich przykładach, które podałeś, jest to Collar.

+1

Dzięki za wyjaśnienie! Twoje prawidłowe, powinienem właśnie powiedzieć JS. – user2238083

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

Do tego nie potrzebujesz jQuery. Można to zrobić z czystym JavaScript:

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

Pop działa dobrze - oto alternatywa:

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

A może bardziej uproszczone zgodnie komentarze:

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

Drugi argument 'substring' jest opcjonalny. Pominięcie go zwróci wszystko do końca łańcucha. –

+0

@Kolink - uzgodniono, po prostu zawsze były wyraźne. Wolę używać 'pop', tak jak zmienić opcję alternatywną. Dzięki. – sgeddes

5

widzę tam już kilka .split().pop() odpowiedzi i substring() odpowiedź, więc dla kompletności, tutaj jest regularna podejście Expression:

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

DEMO

+0

ten jest idealny. – Ali

Powiązane problemy