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

Langage PHP Discussion :

Remplacer les virgules [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 100
    Points : 64
    Points
    64
    Par défaut Remplacer les virgules
    Bonjour à tous,

    je m'arrache les cheveux depuis plusieurs heures à essayer d’écrire une regex pour remplacer les virgules de ma chaine d'entrée qui sont comprises entre 2 apostrophes, sans y arriver. Voici ou 'en suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $listedePoint='"1-tralala, je suis par la; et non, je suis la-bas",0,4," et oui","C est pas moi, c est lui"';
     
    echo $listedePoint=preg_replace("#^\"(.+)(,)(.+)#",'$1_$3',$listedePoint);
     
    ?>
    Donc je veux arriver à ce que ma chaîne d'entrée ressemble à ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
     
    $listedePoint='"1-tralala je suis par la; et non je suis la-bas",0,4," et oui","C est pas moi c est lui"';
     
    ?>
    Quelqu'un a-t-il une idée ? Merci

  2. #2
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Bonjour,

    A vue de nez tu as essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    echo $listedePoint=preg_replace("/\"(.+)(,)(.+)\"/iu",'$1 $3',$listedePoint);
     
    ?>
    Cordialement,

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 100
    Points : 64
    Points
    64
    Par défaut
    Bonjour,

    merci pour la réponse.

    je sais pas si j'avais essayé ou pas, mais la il me remplace que la dernière virgule de ma chaîne..

    Edit : Et il me fait sauter des ". Voici ce qu'il renvoie :

    1-tralala, je suis par la; et non, je suis la-bas",0,4," et oui","Cest pas moi cest lui

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    ton fichier est du CSV, si tu veux le lire c'est avec fgetcsv (et pas explode)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 100
    Points : 64
    Points
    64
    Par défaut
    Bonjour,

    ton fichier est du CSV
    c'est pas du CSV, mais c'est vrai que la structure est la même

    si tu veux le lire c'est avec fgetcsv (et pas explode)
    Ha merde, chuis grillé Bon je connaissais pas fgetcsv, je vais y jeter un oeil

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 100
    Points : 64
    Points
    64
    Par défaut
    Ok, c'est nicekl, plus simple et bien plus propre

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

Discussions similaires

  1. Boucle for pour remplacer les virgules dans un userform
    Par floflo50100 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/04/2015, 16h27
  2. [CSV] Remplacer les points par des virgules
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2008, 19h25
  3. Remplacer les virgules par des points
    Par vatsyayana dans le forum Excel
    Réponses: 7
    Dernier message: 14/06/2008, 11h13
  4. Remplacer les virgules dans excel
    Par Jojo6 dans le forum Excel
    Réponses: 14
    Dernier message: 04/04/2008, 11h09
  5. remplacer les virgules par des tabulations
    Par cartographe dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 08/11/2007, 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