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 :

replacer une liste de mot par un seul [RegExp]


Sujet :

JavaScript

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut replacer une liste de mot par un seul
    Bonsoir,

    Dans une phrase je veux remplace les mots "numéros", "numéro" par "N°"

    J'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var expression = document.maj.libelle.value;
    var reg=new RegExp("(NUMERO)|(NUMEROS)", "g");
    if(libelle.match(reg)) expression = libelle.replace(reg, "N°");
    Pour le mot "numéro" le résultat est "N°" c'est bon.
    Pour le mot "numéros" le résultat est "N°s" c'est pas bon.

    Bon là je m'arrache les cheveux rares qu'ils me restent.

    Merci d'avance pour votre aide.
    Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Salut,

    ça vient de la façon dont tu as construit ta regex : si l'alternative de gauche convient, alors celle de droite n'est même pas testée. Quand le moteur rencontre un « NUMEROS », il voit « NUMERO » suivi de « S », il remplace « NUMERO » et il laisse le « S »

    Essaye plutôt :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg = new RegExp('NUMEROS?', 'g')
    Je te conseille personnellement la forme raccourcie :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg = /NUMEROS?/g;

    D'autre part, pas besoin de tester avec match : si replace ne trouve rien, il ne fait rien.

    J'en profite pour faire une petite remarque : le symbole correct en typographie, ce n'est pas le degré (°) c'est un « o » au-dessus de la ligne. En HTML par exemple :
    C'est un peu lourd, je l'admets. À défaut, on le met au même niveau que le reste, ce qui donne « No ». Et pour le pluriel, le « s » reste : « Nos ».

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par Watilin Voir le message
    J'en profite pour faire une petite remarque : le symbole correct en typographie, ce n'est pas le degré (°) c'est un « o » au-dessus de la ligne. En HTML par exemple :
    C'est un peu lourd, je l'admets. À défaut, on le met au même niveau que le reste, ce qui donne « No ». Et pour le pluriel, le « s » reste : « Nos ».

    pfff je te déteste... Veux-tu m'épouser ?

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  4. #4
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Oui !

    La typographie, tout le monde s'en fout. ’Faut bien quelqu’un pour mener ce combat, non ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Bon je suis m'incline avec beaucoup d'amertume, mais Romain a été le plus rapide.

    Snif .

    Merci Watilin, c'est exactement ce que je voulais avec la typographie en plus.
    Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/08/2012, 10h24
  2. Réponses: 0
    Dernier message: 14/08/2012, 08h03
  3. Réponses: 4
    Dernier message: 03/07/2009, 09h45
  4. [Regex][Avis] Méthode de suppression d'une liste de mots
    Par manal dans le forum Collection et Stream
    Réponses: 22
    Dernier message: 15/10/2005, 00h39
  5. Réponses: 14
    Dernier message: 29/04/2005, 11h59

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