2010-06-12 3 views
1

Bonjour luttant ici les gars ..Javascript remplacer

Est-il possible de remplacer toute chaîne entre les premières barres obliques avec "" mais garder le reste?

par exemple. var serait

string "/anything-here-this-needs-to-be-replaced123/but-keep-this"; 

se terminerait comme ça

string "/but-keep-this"; 

Espoir qui a fait sence

Répondre

4

Vous pouvez simplement le diviser par /

var str = "/anything-here-this-needs-to-be-replaced123/but-keep-this"; 
var myarray = str.split('/'); 
alert('/' . myarray[2]); 
+0

Ceci n'a pas la sortie attendue OP ""/mais-keep-this "', essayez de ne pas utiliser '.split()' pour quoi '.substring()' a été fait pour :) –

+1

@Nick Craver: C'est le cas: http://jsbin.com/ifabe3. Et vous avez raison de «substring» pourrait être le chemin à parcourir. OP pourrait considérer ceux avec cette réponse si cela ne fait pas l'affaire pour ce qu'il essaye de faire. – Sarfraz

+0

@Sarfraz - '"/mais-keep-this "! =" Mais-keep-this "' ', mon point est que vous manquez la barre oblique :) –

2

Comme ceci:

var string = "/anything-here-this-needs-to-be-replaced123/but-keep-this"; 
string = string.substring(string.indexOf('/', 1)); 

You can view a demo here to play with, le .indexOf() method prend un second argument optionnel, en disant où commencer la recherche, utilisez simplement cela avec .substring() ici.

Si vous souhaitez supprimer tous les barres obliques (peu claires de l'exemple), changer un peu à .lastIndexOf() sans argument de départ, comme ceci:

var string = "/anything-here-this-needs-to-be-replaced123/but-keep-this"; 
string = string.substring(string.lastIndexOf('/')); 

You can play with that here, l'effet est le même pour l'exemple, mais serait différent dans le cas de plus de barres obliques.

+0

Mieux utiliser 'lastIndexOf' pour être sûr d'obtenir que la dernière barre oblique (je suppose qu'il est des chemins de l'analyse) – nico

+0

@nico - Je ne savais pas A propos de ceci (exemple ambigu) ... J'ai relu la question et je l'ai déjà ajouté quand vous avez commenté :) –

3
var s = "/anything-here-this-needs-to-be-replaced123/but-keep-this"; 

pos = s.lastIndexOf("/"); 

var s2 = s.substring(pos); 

alert(s2);