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 :

Comment remplacer tous les occurences dans une variable string par une autre occuren?


Sujet :

JavaScript

  1. #1
    Battosaiii
    Invit�(e)
    Par d�faut Comment remplacer tous les occurences dans une variable string par une autre occuren?
    Bonjour !

    Je voudrais remplacer tous les {; par { dans le string test.
    var test = "abcd{;\n\n1234\nfor(int i=0;i<5;i++) {;\n"

    Comment faites vous ? Je sais que la fonction replace le fais
    1 seule fois.
    En l'occurence si je fais :
    test.replace("{;","{") je vais avoir la premiere occurence de remplacee
    uniquement. Donc le resultat sera :
    "abcd{\n\n1234\nfor(int i=0;i<5;i++) {;\n" a la place.
    Est ce que c'est assez clair ?
    Merci d'avance !

  2. #2
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    201
    D�tails du profil
    Informations personnelles :
    �ge : 80

    Informations forums :
    Inscription : Janvier 2007
    Messages : 201
    Par d�faut Bizarre bizarre
    Ben oui, seule la premi�re occurence est remplac�e, alors que ma doc dit que "les occurences sont remplac�es" et que la fonction php : str_replace remplace toutes les occurences. Curieux �a.
    Voila un script qui remplace toutes les occurences, mais attention, si la chaine � remplacer est contenue dans la chaine rempla�ante, boucle sans fin assur�e !!! Donc tester avant de s'en servir !
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script language="JavaScript" type="text/JavaScript">
    a="bbb;bbb;bbb;bbb";
    i=a.indexOf("bbb");
    while (i >= 0) {
    	a=a.replace("bbb","Bravo Belo");
    	i=a.indexOf("bbb");
    }
    alert (a);
    </scrip

  3. #3
    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
    et g ?
    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 !

  4. #4
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    bonjour,

    utilise une expression r�guli�re
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
     var test = "abcd{;\n\n1234\nfor(int i=0;i<5;i++) {;\n"
     var exp = /{;/g;
     
     test = test.replace(exp, "{");

  5. #5
    Battosaiii
    Invit�(e)
    Par d�faut
    La solution du dernier post marche!. Je vais l'adopter car elle consomme moins en ressource que l'autre (que j'utilisais deja).


    Malheureusement cette solution ne marche pas avec mon buffer.
    En realite je voudrais remplacer toutes les occurences de mon string buffer(buf)
    comme ci dessous :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
       return buf.join(";\n" + indent.get()) + ";\n"
    Donc j'ai tente :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
       var exp = /{;/g;
       buf.join(";\n" + indent.get()) 
       return buf.replace(exp, "{") + ";\n"
    Ca marche pas du tout !

    Des idees ?
    Derni�re modification par Battosaiii ; 02/10/2007 � 11h56.

  6. #6
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    Citation Envoy� par Battosaiii Voir le message
    Donc j'ai tente :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
       var exp = /{;/g;
       buf.join(";\n" + indent.get()) 
       return buf.replace(exp, "{") + ";\n"
    Ca marche pas du tout !

    Des idees ?
    Visiblement buf est un tableau. La m�thode join() retourne une chaine de caract�res, il faut donc la r�cup�rer :
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
       var exp = /{;/g;
       var chaine;
       chaine= buf.join(";\n" + indent.get()); 
       chaine = chaine.replace(exp, "{") + ";\n"
       return chaine;

  7. #7
    Battosaiii
    Invit�(e)
    Par d�faut
    ca ne marche pas cette solution non plus...
    D'autres solutions ?

  8. #8
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    Citation Envoy� par Battosaiii Voir le message
    ca ne marche pas cette solution non plus...
    D'autres solutions ?
    montre nous code JS complet, sinon on va tourner en rond un bon moment

Discussions similaires

  1. R�ponses: 4
    Dernier message: 29/03/2009, 23h42
  2. [RegEx] caract�re pour remplacer tous les caract�res dans une regex
    Par sp2308 dans le forum Langage
    R�ponses: 6
    Dernier message: 09/02/2008, 01h06
  3. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    R�ponses: 1
    Dernier message: 15/01/2006, 23h36
  4. R�ponses: 3
    Dernier message: 11/12/2005, 11h15
  5. Comment acc�der tous les ComboBox dans ma fiche
    Par Xavier dans le forum C++Builder
    R�ponses: 8
    Dernier message: 04/11/2005, 20h41

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