Aux pros de la regexp


ltressens
WRInaute impliqué
WRInaute impliqué
 
Messages: 551
Inscription: 2 Avr 2004

Aux pros de la regexp

Message le Jeu Aoû 03, 2006 15:45

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,

chris81
WRInaute discret
WRInaute discret
 
Messages: 184
Inscription: 8 Mar 2005

Message le Jeu Aoû 03, 2006 18:55

salut

en effet pas tres claire !

vas voir par la

http://www.siteduzero.com/tuto-3-168-1- ... e-1-2.html

ils explique de [A-Z] les Regex :!:

samuel220093
WRInaute discret
WRInaute discret
 
Messages: 142
Inscription: 29 Aoû 2005

Message le Jeu Aoû 03, 2006 19:54

Le site duzer0, c'est un site, SUPER ! ;) Je te le conseil ;)


Artefact2
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 23 Juil 2006

Message le Jeu Aoû 03, 2006 21:28

ereg_replace('#(^A-Z);(.)#', '$1 ;$2', $tontexte);


mowmow
WRInaute impliqué
WRInaute impliqué
 
Messages: 975
Inscription: 3 Nov 2004

Message le Ven Aoû 04, 2006 9:58

Plop.

Pas besoin de se prendre la tête !

Code: Tout sélectionner
<?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 :)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


cron