Aux pros de la regexp

WRInaute occasionnel
Hello,

Un truc que je ne sais pas faire avec les regexp, en espérant que vous suarez m'aider.

Imaginons que j'ai un fichier csv avec des cases vides genre :
AAA;BBB;CCC;;;;;DDD;;EE;;;FFFF;

Je veux ajouter un espace entre les points virgules collés.
Si je fais un remplacement (ci-dessous en Java, mais le résultat serait le même en PHP) :

line = line.replaceAll(";;", "; ;");

Il faudra que je le fasse deux fois car le premier replace donnerait :
AAA;BBB;CCC; ;; ;;DDD; ;EE; ;;FFFF;

car le deuxième ; de ma regexp n'est pas réutilisé dans la regle de remplacement en tant que premier ; ... Bon pas très clair, mais vous voyez ce que je veux dire ?

Si je joue le remplacement deux fois, aucun PB...

A vous lire,
 
WRInaute impliqué
Plop.

Pas besoin de se prendre la tête !

Code:
<?php
$content = 'AA;BB;;;;CC;';
$tab = explode(';', $content);
foreach($tab as $key => $value) {
    if(empty($value)) {
        $tab[$key] = ' ';
    }
}
$content = implode(';', $tab);
?>

Ca devrait bien marcher :)
 
Discussions similaires
Haut