Boujour,
J'ai besoin de supprimer une ligne dans un fichier texte, pour se faire j'ai créé un script VBS et j'utilise la fonction de remplacement.
Seulement voila dans la ligne que je veux supprimer il y a plusieurs caractères backslash "\" et c'est la que j'ai un problème.
En gros voici le fichier de départ:
Je voudrais supprimer la ligne toto\toto (ou autre), pour ce faire j'utilise ce script:tata\tata
tutu_tutu
toto\toto
Mais cela ne fonctionne pas, pourtant quand je demande de supprimer juste "toto" ça fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Set fso = CreateObject("Scripting.FileSystemObject") Set oRegEx = New RegExp oRegEx.Global = true oRegEx.Pattern = "toto\toto" Set monFichier = fso.OpenTextFile(list,1) sStream = monFichier.ReadAll monFichier.Close sNewStream = oRegEx.Replace(sStream,"") if InStr(sNewStream,vbLf)=1 Then sNewStream = Replace(sNewStream,"",1,1) Set monFichier = fso.OpenTextFile(list,2) monFichier.Write sNewStream monFichier.Close
Alors je pense avoir trouvé un début de réponse, et écrivant ceci:
oRegEx.Pattern = "toto"+"\\"+"toto"
seulement voila en écrivant directement le code ça fonctionne, mais si je place ce code dans un fichier txt (par exemple code.txt) et que je demande de lire ce fichier dans mon code pour l'incruster dans le pattern, ça ne fonctionne pas.
Voici ce que je mets:
J'ai essayé plusieurs choses dans le fichier code.txt mais sans résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Set f = Fso.OpenTextFile("code.txt", 1, false) test = f.ReadLine Set fso = CreateObject("Scripting.FileSystemObject") Set oRegEx = New RegExp oRegEx.Global = true oRegEx.Pattern = test Set monFichier = fso.OpenTextFile(fichier_a_modifier.txt,1) sStream = monFichier.ReadAll monFichier.Close sNewStream = oRegEx.Replace(sStream,"") if InStr(sNewStream,vbLf)=1 Then sNewStream = Replace(sNewStream,"",1,1) Set monFichier = fso.OpenTextFile(list,2) monFichier.Write sNewStream monFichier.Close
J'ai essayé tout ça:
pourtant quand je marque juste toto dans le fichier code.txt, ça m'éfface bien les noms toto dans le fichier_a_modifier.txt (mais il reste tjrs le backslash), cela prouve bien que la fonction fonctionne mais pas avec le backslash."toto"+"\\"+"toto"
toto"+"\\"+"toto
"toto"+"\"+"toto"
toto"+"\"+"toto
"toto\toto"
toto\toto
Une idée ????
Partager