Bonjour,
Je veux éliminer les crochets en parsant le fichier :
ex :
CLE[1] abc
CLE[2] def
et je veux avoir
CLE1 abc
CLE2 def
Merci (je ne suis pas fort en regex)
Bonjour,
Je veux éliminer les crochets en parsant le fichier :
ex :
CLE[1] abc
CLE[2] def
et je veux avoir
CLE1 abc
CLE2 def
Merci (je ne suis pas fort en regex)
J'aime pas trop poster sans tester mais là tout va bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #!/usr/bin/perl -w use strict; while (<DATA>) { $_ =~ s/\[(\d+)\]/\1/; print; } __DATA__ CLE[1] abc CLE[2] def
Normalement je dois comparer deux fichiers:
while ($ligne){
While ($lign){
if($ligne eq $lign) {
print "ok\n";
}
Le problème c'est qu'il ya des lignes qui comportent des crochets, donc la comparaison ne passe pas ( caractères spéciaux), j'ai pensé donc à éliminer les crochets.
ça serait mieux de substituer les crochets par \crochet, ds ce cas là je procéderai commenet, Merci
Mets des balises CODE dans tes posts : c'est plus lisible.
Pourquoi n'utilises-tu pas le bout de code, ou au moins l'algorithme, que t'as indiqué Jedaï ? (Parce que là, tu risques d'avoir des problèmes si un fichier est plus long que l'autre).
D'autre part que veux-tu dire par "la comparaison ne passe pas [avec les] caractères spéciaux" ? Il n'y a aucun problème à comparer des chaînes de caractères avec des [ ], je t'assure. Fais le test, tu verras.
Sinon pour ta question relative au remplacement des crochets (au fait comprends-tu comment est construite la substitution, sinon, ça ne sert à rien), voilà un exemple :\1 correspond à la première capture, ici : (\d+).
Code : Sélectionner tout - Visualiser dans une fenêtre à part $_ =~ s/\[(\d+)\]/<crochet>\1<\\crochet>/;
J'ai pas compris ce que m'a dit Jedai...Donc je ne l'utilise pas...Tu te trompes, quand il s'agit d'une ligne ou il y'a un crochet, la comparaison ne passe pas. ça fait 4 h que je teste ceci...Et je te garantie que ça ne marche pas...Teste si tu veux et tu verras .
NB : Franchement j'ai du mal a comprendre ce que dit Jedai.![]()
Partager