2010-07-21 5 views
3

Je suis en train d'extraire un article ID de la href suivante:spliting une chaîne en Javascript

/MarketUpdate/Pricing/9352730 

Je veux juste extraire l'ID à la fin de la chaîne et je suis en utilisant le code suivant:

var $newsLink = $(this).attr('href'); 

    var $newsString = $newsLink.substr($newsLink.lastIndexOf('/')); 

Cependant, cela retourne le '/' final que je ne veux pas.

Répondre

7
var $newsString = $newsLink.substr($newsLink.lastIndexOf('/')+1); 

Notez que votre hypothèse est ici que le '/' est présent dans la chaîne et il y a un ID après. Un moyen plus sûr de le faire vérifier s'il y a une chance '/' pourrait ne pas être présent ou l'ID est manquant serait de vérifier d'abord en utilisant:

if ($newsLink.lastIndexOf('/') != -1 && $newsLink.lastIndexOf('/') + 1 < $newsLink.length) { 
    var $newsString = $newsLink.substr($newsLink.lastIndexOf('/')+1); 
} 
+0

Très robuste :) Ta muchly. – RyanP13

2

Vous pouvez ignorer le caractère / en disant l'appel substr pour commencer un caractère après l'index, comme ceci:

var $newsString = $newsLink.substr($newsLink.lastIndexOf('/') + 1); 
Questions connexes