IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

remplacer espaces, tirets, virgules par + [RegExp]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Par défaut remplacer espaces, tirets, virgules par +
    Bonjour,
    J'ai eut beau essayer de créer ma RegExp depuis 2h, ca fonctionne vraiment pas donc je me décide à poster apres avoir écumé le web..
    Voici le topo:
    Je recuperer depuis ma Bdd deux chaines:
    - une chaine du genre "developpeur java web"
    - et une autre "java,web,developpeur"

    Afin de passer tout ce petit monde dans mon url, je souhaite transformer ces chaines via javascript ( string.replace() ) , et donc enlever mes espaces (1ere chaine), et espace/virgules/tirets dans ma seconde chaine puis mettre "+" à la place.

    Pour le moment j'ai essayé un RegExpr du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var reg = new RegExp( "/ \/-\/,","g");
    string.replace(reg,"+");
    Mais rien ne fonctionne, pas étonnant j'imagine, mais j'avoue que meme apres avoir lu des tutos sur ces expressions , je comprend vraiment pas comment les former, enfin surtout en ce qui concerne les caractères spéciaux :/


    Des spécialistes dans le coin qui pourraient m'aider? :F

    merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Par défaut
    merci tu me sauves, jvois deja mieux comment on forme ca en plus :p

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Il me semble utile de préciser:



    Les caractères spéciaux sont neutralisés par un antislash \, et non par /


    Un blanc n’est pas un caractère spécial.


    Un tiret n’est un caractère spécial qu’entre deux crochets. Pour éviter qu’il joue comme caractère spécial entre deux crochets, il suffit de le mettre à la fin ou du début de l’entre-crochet.


    Une virgule n’est pas un caractère spécial, que je sache.



    Enfin, il faut savoir que les caractères spéciaux perdent leur spécialité quand il sont entre crochets.



    NB: je ne connais pas parfaitement les regex en Javascript.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    oui on pourrait d'ailleurs aussi faire :

    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Bonjour, je me permet de rebondir sur ce post car ce sont les crochets que je souhaite remplacer :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function replace_rc_br(unsafe){
    		  return unsafe
    		  .replace(/\[g]/g, '<strong>')
    		  .replace(/[/g]/g, '</strong>');
    	}
    ça me renvoie ça : [g]blabla[g] au lieu de <strong>blabla</strong>

    Pourriez-vous svp me mettre sur la voie ?

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    je penses que tu voulais parler de [g]blabla[g].

    Dans .replace(/[/g]/g, '</strong>');, il te faut échapper le crochet et le slash.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("[g]blabla[/g]".replace(/\[g]/g, '<strong>').replace(/\[\/g]/g, '</strong>'));
    j'ai cela dans mes "cartons"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("[g]blabla[/g]".replace(/\[g]([^\]]*)\[\/g]/gim,'<strong>$1<\/strong>'));

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer espace par virgule
    Par matt41fr dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/03/2015, 17h21
  2. [Notepad++] Remplacer des chiffres à virgules par des points
    Par Jarodd dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 11/03/2014, 22h56
  3. remplacer espace par un tiret dans liens hypertexte
    Par kate59 dans le forum Langage
    Réponses: 2
    Dernier message: 21/07/2010, 11h09
  4. [RegEx] remplacer espacement par un tiret
    Par rich25200 dans le forum Langage
    Réponses: 3
    Dernier message: 19/11/2008, 17h58
  5. remplacer espace par tiret dans formulaire
    Par referenceur-tv dans le forum Langage
    Réponses: 17
    Dernier message: 03/06/2008, 14h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo