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 :

[DEBUTANT] Remplacer toutes les occurences de parenthèses


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut [DEBUTANT] Remplacer toutes les occurences de parenthèses
    Bonjour,
    considérons "(4+5)(x+a)-3". Je voudrais obtenir "par(4+5)par(x+a)-3".

    Peut-on aussi avoir une méthode qui repère un souci dans un cas comme "(4+5(x+a)-3" ?

    Toute info. est bienvenue.

  2. #2
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bon j'ai ceci qui marche : expr = expr.replace(/\(/g, 'parenthesis(');.

    Je vais donc passer à une nouvelle demande. Comment faire pour remplacer tous les morceaux du type [...] par hooks[...] ? Si un crochet ouvrant est seul alors, il ne doit y avoir rien de changer, ou mieux une erreur de levée.

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

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par rambc Voir le message
    Bon j'ai ceci qui marche : expr = expr.replace(/\(/g, 'parenthesis(');.
    ... ça, ça marche ?

    Tu n'aurais pas fait une erreur en la recopiant dans ton post ?

    Citation Envoyé par rambc Voir le message
    Je vais donc passer à une nouvelle demande. Comment faire pour remplacer tous les morceaux du type [...] par hooks[...] ? Si un crochet ouvrant est seul alors, il ne doit y avoir rien de changer, ou mieux une erreur de levée.
    Pour la partie remplacement, et pour rester dans le même type de solution que tu as déjà employée (String.replace) :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var chaineCorrigee = ancienneChaine.replace(/\[/g, "hooks[");
    Et en ce qui concerne la vérification de l'égalité du nombre des crochets ouvrants et fermants, mieux vaut la faire avant et séparément. En faisant ça "à la dure" juste en comptant tout bêtement ça donnerait :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // on aurait aussi pu faire une recherche successive avec indexOf, etc.
    // ceci n'est qu'un exemple à retravailler ^^
    var nb_ouvrant = 0, nb_fermant = 0;
    for (var i = 0, iMax = ancienneChaine.length; i < iMax; ++i) {
       var c = ancienneChaine.charAt(i);
       if (c == "[") nb_ouvrant++;
       else if (c == "]") nb_fermant++;
    }
    if (nb_ouvrant != nb_fermant) {
       // ICI : traitement de l'erreur
       throw new rambCException();// ou ce que tu veux
    }

  4. #4
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Merci pour les infos.

    Au final, j'ai codé en dur la vérification avec en même temps le remplacement.

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

Discussions similaires

  1. [XL-2010] Debuts sur VBA, remplacer toutes les cellules >0 par 1 sur Excel 2010
    Par labjo14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/04/2014, 16h35
  2. Expression regulière remplacement de toutes les occurences
    Par solenseb dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 14/11/2008, 11h14
  3. connaitre toutes les occurences d'une chaine
    Par semaj_james dans le forum C
    Réponses: 2
    Dernier message: 11/12/2005, 14h46
  4. Borland C++ 5.5 remplacer toutes les occurences
    Par cdelamarre dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 30/11/2005, 12h23
  5. replace() qui s'applique sur toutes les occurences
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2005, 11h27

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