Bonjour à tous,
Je voudrais dans des fichiers XML remplacer 3 lignes par une nouvelle :
Voici ce que je dois remplacer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
              <Image iconType="3" name="/com/test/rcp/icon/check2.png"/>
            </Property>
Voici ce que je fais en perl (contenu = un fichier lu):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
my $expr1 = '<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
               <Image iconType="3" name="/com/test/rcp/icon/check2.png"/>
            </Property>';
my $expr2 = 'blablabla'; 
$contenu =~ s/$expr1/$expr2/g;
Ca marche correctement quand les espaces sont exactement au même nombre devant les lignes 2 et 3, mais si le nombre d'espaces est différent alors rien n'est remplacé.
J'ai donc essayé ca mais ca marche pas mieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
my $expr1 = '<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">\n *<Image iconType="3" name="/com/test/rcp/icon/check2.png"/>\n *</Property>';
my $expr2 = 'blablabla'; 
$contenu =~ s/$expr1/$expr2/g;
Merci pour votre aide
Laurent