9
votes

JavaScript remplace la note d'interrogation

Comment faire une regex pour ? code> et = code> dans JavaScript?

Je veux quelque chose de p>

http: // localhost / recherche? Rechercher = mots code> p>

à p>

http: // localhost / recherche / recherche / mots p> p> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P> P > (? Rechercher =) à (/ Rechercher /) P>

<script>
var ss = "http://localhost/search?search=words".replace("/\?search\=/g", "/search/");
document.write(ss);
</script>


1 commentaires

Changer de paires de clés à valeur de clé à un répertoire de valeur unique n'a pas de sens et peut vraiment gérer tout ce que vous avez codé. Ouais, tu as dit pratique, mais qu'est-ce que tu essayes réellement d'accomplir ici?


3 Réponses :


20
votes

Presque là-bas! = code> n'est pas un caractère spécial et n'a pas besoin d'être échappé. De plus, les chaînes de regex ne sont pas enveloppées de citations. Donc:

"http://localhost/search?search=words".replace(/\?search=/g, "/search/");


1 commentaires

+1 pour avoir 120 secondes plus vite! =) (Et bien sûr, absolument correct!)



4
votes

Vous pouvez utiliser une simple chaîne pour remplacer: xxx


0 commentaires

5
votes

Que diriez-vous de

str.replace(/[?=]/g, "/");


3 commentaires

Double slash fait pas échapper à une barre oblique.


Mon mauvais, confondu avec une barre oblique inverse. Corrigée.


Cela fonctionnera une fois, mais oui, cela échouera sur les exigences de l'OP. Fixé. En outre, j'ai pratiquement écrit une partie de cette FM, alors s'il vous plaît, je réponds aux questions lorsque je devrais être longue endormi ne signifie pas que je manque de connaissances. i.qkme.me/35bp94.jpg << c'est le visage que j'ai fait BTW :)