IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

problème de remplacement backslash dans un fichier texte


Sujet :

VBScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut problème de remplacement backslash dans un fichier texte
    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:

    tata\tata
    tutu_tutu
    toto\toto
    Je voudrais supprimer la ligne toto\toto (ou autre), pour ce faire j'utilise ce script:

    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
    Mais cela ne fonctionne pas, pourtant quand je demande de supprimer juste "toto" ça fonctionne bien.


    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:
    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é plusieurs choses dans le fichier code.txt mais sans résultat.
    J'ai essayé tout ça:

    "toto"+"\\"+"toto"
    toto"+"\\"+"toto
    "toto"+"\"+"toto"
    toto"+"\"+"toto
    "toto\toto"
    toto\toto
    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.

    Une idée ????

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Personne ne connait la solution à mon problème ???

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tu dis que :

    fonctionne alors pourquoi n'as tu pas mis le résultat de cette concaténation dans ton fichier texte ?


  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par bbil Voir le message
    tu dis que :

    fonctionne alors pourquoi n'as tu pas mis le résultat de cette concaténation dans ton fichier texte ?

    c'était aussi simple que ça, et pourtant j'étais persuadé d'avoir fait cette manipulation.

    Merci bbil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer mot dans un fichier text !
    Par Marie.B dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 25/01/2009, 13h38
  2. Problème d'ecriture arabe dans un fichier texte
    Par gateserv dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 30/08/2008, 11h44
  3. [RegEx] Remplacement rapide dans un fichier texte (RTF)
    Par johweb dans le forum Langage
    Réponses: 12
    Dernier message: 17/01/2007, 09h04
  4. Réponses: 3
    Dernier message: 27/06/2005, 16h24
  5. Réponses: 5
    Dernier message: 25/01/2005, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo