2010-01-14 7 views
4

En espérant que quelqu'un puisse vous aider à manipuler certaines chaînes à l'aide de jQuery.Manipulation de chaîne jQuery

En fait, dans un .cliquez (function() {je la variable de chaîne suivante:

f?p=251:1007:3642668879504810::::: 

ce que je dois faire en utilisant jQuery est de supprimer essentiellement le nombre 3642668879504810 (qui change, c'est un hasard nombre ne peut donc pas correspondre à ce nombre) entre le deuxième et le troisième colon au sein de cette variable de chaîne, de sorte que le résultat final serait la suivante, en maintenant tous les colons

f?p=251:1007:::::: 

Toute aide serait appréciée.

Merci.

+1

Ceci est une question javascript, pas une question jquery. Vous pouvez utiliser les fonctions .indexOf() et .substr() pour obtenir ce que vous voulez. Trouvez le texte du deuxième colon à la fin, puis trouvez le troisième deux-points et coupez tout entre les deux. –

+0

Désolé - comme j'effectuais mon traitement dans une fonction document.ready, je pensais que c'était lié à jQuery. – tonyf

Répondre

8

Un moyen rapide en utilisant split():

var str, split_str, new_str; 

str = 'f?p=251:1007:3642668879504810:::::'; 
split_str = str.split(':'); 
split_str[2] = ''; 
new_str = split_str.join(':'); 

// new_str == 'f?p=251:1007::::::' 
+0

Merci Matchu mais je me demandais juste, j'ai remarqué que parfois, avant le f? P = 251, il pourrait y avoir un autre ensemble de valeurs, comme http://www.google.com/f?p=251:1007: 3642668879504810 :::::, sur cette base, y a-t-il un peu à chercher f? P = string et ensuite partir d'ici? Merci. – tonyf

2
stringVar = stringVar.replace(/\d+(:+)$/, '$1'); 

Devrait fonctionner. Il trouve les chiffres suivis seulement par des deux-points et les remplace par ces deux-points (supprimant ainsi les chiffres).

+0

Il m'a fallu un moment pour analyser celui-ci dans mon cerveau: supprime le dernier nombre de la chaîne avant un ou plusieurs deux-points. – Matchu