[PERL]Fichier annexe...

Résolu
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   -  
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   -
Re bonjour, et oui aujourd'hui je fais du PERL et c'est un peu la galère car j'en fait pas souvent... xD

bref, ca fait ma pause repas que je galère a trouver comment que faire :P
je m'explique :
#J'ai un fichier A.txt qui contient du texte par exemple :
A.txt:
" Bonjour A va bien il discute avec B.Mais monsieur A n'aime pas les artichauds, il préfère les radis gris comme madame B. Alors que monsieur D lui mange des huitres..."

#un fichier B qui fait les correspondances :
B.txt
"A Michael Dudikoff
B Kurtis jackson
C San De
D Taylor Bow"


Et donc vous devinez, je souhaite ouvrir mon fichier B.txt quand je tombe sur une occurence connu dans le fichier A.txt, afin d'avoir en résultat
" Bonjour Michael Dudikoff va bien il discute avec Kurtis jackson.Mais monsieur Michael Dudikoff n'aime pas les artichauds, il préfère les radis gris comme madame Kurtis jackson. Alors que monsieur Taylor Bow lui mange des huitres..."

voilà,pour le moment je teste et je tourne pas mal en rond, si quelqu'un a une idée... Merci

Zep3k!GnO
-->hi i hi o on va pas au boulot :P
A voir également:

3 réponses

crabs Messages postés 908 Date d'inscription   Statut Membre Dernière intervention   507
 
salut,
Tu lis le fichier qui contient les substitutions et t'en fait un tableau associatif
ensuite tu lis le fichier texte, et pour chaque ligne tu fais une boucle de
substition en utilisant le tableau associatif précédement créé.
Enfin quand je dis 'tu', je penses 'ton programme' ;-)

Attention A,B,C,D ne sont pas assez discriminant et il se peut que tu obtiennes
des substitutions non voulues, exemple :
"A la fête de A, B a rencontré C."
Le premier 'A' serait remplacé alors qu'il faut pas...
A+, crabs
0
hssissen Messages postés 844 Date d'inscription   Statut Membre Dernière intervention   50
 
Salut,
Voici un un script tres elementaire qui arrive a faire ce que tu veux, mais essaie de trouver un moyen pour qu'il ne fait pas des sauts des lignes et qu'il garde la ponctuation. Ces dernieres je l'ai enleve pour qu'il arrive a lire tes alphabets avant une ponctuation, exp. de ton texte:

Bonjour A va bien il discute avec B.
Il faut bien qu'il distingue A et le point, sinon il va le considerer comme un seul mot, i.e A. Il faut jouer donc avec les expressions regulieres.

Voici le script mais tu dois ameliorer la sortie.

#!/usr/bin/perl -w

open(FICA, "A.txt") || die "impossible d'ouvrir sortie: $!\n";
open(FICB, "B.txt") || die "impossible d'ouvrir sortie: $!\n";

@ligne=(); #contient ta phrase
@mots=();# contient les noms et alphabets

@ligne=(split(/[. , ]/,<FICA>));
@mots=<FICB>;
for ($i=0; $i<@ligne; $i++){
if ($ligne[$i] eq 'A'){
$ligne[$i]=$mots[0];
}
if($ligne[$i] eq 'B'){
$ligne[$i]=$mots[1];
}
if($ligne[$i] eq 'C'){
$ligne[$i]=$mots[2];
}
if($ligne[$i] eq 'D'){
$ligne[$i]=$mots[3];
}
}

print "@ligne";

close(FICA);
close(FICB);
0
Zep3k!GnO Messages postés 2025 Date d'inscription   Statut Membre Dernière intervention   200
 
Yes merci a vous 2 !
du coups j'me suis débrouillé car fallait que je gère ça hier au taff :P
Mais ouais du coups je suis passé par les tableau et Zou ,boum pif paf !
En tous cas ,sympa le script j'me le mets sous le coude ^^ .

Merci les gars.

@+

Zep3k!GnO
-->hi i hi o on va pas au boulot :P
0