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 :

Recupération après caractère


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut Recupération après caractère
    Bonjour,

    J'ai 26 000 lignes ou j'ai des groupes de musique et des titres de musique et j'aimerais récupérer juste le titre, grâce à un script VBS.

    En générale les lignes sont structurées comme ceci :

    Children Of Bodom - Silent Night,Bodom Night
    Children Of Bodom - Six pounder (Solo2)
    Children Of Bodom - Taste of my sythe(main part)
    Children Of Bodom - The Art Of Alexi Laiho
    Children Of Bodom - The Art Of Children Of Bodom
    Children Of Bodom - The Nail
    Children Of Bodom - Touch Like An Angel Of Death
    Children Of Bodom - Towards Dead End
    Children Of Bodom - You 're Better Off Dead

    Mais il arrive que parfois on tombe sur des lignes où il n'y a que le titre :

    Touch Like An Angel Of Death
    Towards Dead End
    You 're Better Off Dead

    Et aussi il peut arriver qu'il y est le le nom du groupe et le titre de musique, mais que le titre est composé de - par exemple :

    Children Of Bodom - You're-Better-Off-Dead

    Et même que le tiret qui sépare le groupe est le nom soit collé, d'un coté ou de l'autre :

    Children Of Bodom- You're-Better-Off-Dead
    Children Of Bodom -Silent Night,Bodom Night
    Children Of Bodom-Touch Like An Angel Of Death

    Est-ce qu'il est possible de réaliser un script VBS qui extrait les titres des lignes, en les écrivant dans un autre fichier texte, dans le même ordre.

    Merci d'avance.

    John.

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    voici une petite approche en utilisant les RegExp
    testé avec votre petit exemple :
    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
    16
    Const ForReading = 1
    Const ForWriting = 2
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set f = FSO.OpenTextFile("f.txt",ForReading)
    Set objFiles = FSO.OpenTextFile("fic3.txt",ForWriting,True)
    sResults = f.ReadAll
    Set objRegex = new RegExp
    objRegex.Pattern = "-(.\w+.*)"
    objRegex.Global = True
    objRegex.IgnoreCase = True
    Set Matches = objRegex.Execute(sResults)
    For Each Match in Matches   
    Result=objRegex.Replace(Match.Value,"$1")
        MsgBox Result,64,"Résultat !"
        objFiles.WriteLine Result
    Next

  3. #3
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Voici un exemple de test avec File2Read.txt:
    Children Of Bodom - Silent Night,Bodom Night
    Children Of Bodom - Six pounder (Solo2)
    Children Of Bodom - Taste of my sythe(main part)
    Children Of Bodom - The Art Of Alexi Laiho
    Children Of Bodom - The Art Of Children Of Bodom
    Children Of Bodom - The Nail
    Children Of Bodom - Touch Like An Angel Of Death
    Children Of Bodom - Towards Dead End
    Children Of Bodom - You 're Better Off Dead
    Children Of Bodom - You're-Better-Off-Dead
    Children Of Bodom- You're-Better-Off-Dead
    Children Of Bodom -Silent Night,Bodom Night
    Children Of Bodom-Touch Like An Angel Of Death
    et qu'on applique ce vbscript:
    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
    16
    17
    18
    Const ForReading = 1
    Const ForWriting = 2
    Set ws = CreateObject("Wscript.Shell")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set f = FSO.OpenTextFile("File2Read.txt",ForReading)
    Set objFiles = FSO.OpenTextFile("Titre.txt",ForWriting,True)
    sResults = f.ReadAll
    Set objRegex = new RegExp
    objRegex.Pattern = "-(.\w+.*)|- (.\w+.*)"
    objRegex.Global = True
    objRegex.IgnoreCase = True
    Set Matches = objRegex.Execute(sResults)
    For Each Match in Matches   
    Result=objRegex.Replace(Match.Value,"$1")
        MsgBox Result,64,"Résultat !"
        objFiles.Write Result
    Next
    ws.Run "Titre.txt",True
    et on obtient comme résultat dans le fichier Titre.txt
    Silent Night,Bodom Night
    Six pounder (Solo2)
    Taste of my sythe(main part)
    The Art Of Alexi Laiho
    The Art Of Children Of Bodom
    The Nail
    Touch Like An Angel Of Death
    Towards Dead End
    You 're Better Off Dead
    You're-Better-Off-Dead
    You're-Better-Off-Dead
    Silent Night,Bodom Night
    Touch Like An Angel Of Death

  4. #4
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut
    Wow ! Impressionnant. C'est quoi les RegExp ?

    Sinon ça ne marche pas totalement. Si je prends comme exemple cette ligne là.

    While We Cry (intro-live)

    Elle n'a pas d'auteur, il n'y a que le titre, mais vu qu'il contient un - ça le coupe donc ça donne juste

    live)

    Et au résultat je devrais avoir 25169 lignes et je n'en ai que 21787 dans Titre.txt. Et aussi chaque ligne début avec un espace, pourquoi ?

  5. #5
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    une autre variante, mais sans passer par les RegExp:

    untested.vbs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Const ForReading = 1
    Set ws = CreateObject("Wscript.Shell")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set f = FSO.OpenTextFile("Titre.txt",ForReading)
    sResults = f.ReadAll
    msgbox Trim(Replace(Replace(sResults,"Children Of Bodom", ""),"-",""))

  6. #6
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut
    Je n'ai pas qu'un groupe de musique ^^.

    Le script d'hackoofr est quasi parfait, le seul problème c'est qu'il à supprimé des lignes et coupé quelque titre

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

Discussions similaires

  1. [PowerShell] modifier chaine ligne n après caractère "="
    Par T3rm1nat0r dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 27/11/2012, 19h31
  2. [TinyMCE] Recupérer les caractères spéciaux
    Par MidOne dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 27/03/2012, 13h29
  3. Recupérer x caractères d'un champ
    Par glove dans le forum Doctrine2
    Réponses: 2
    Dernier message: 14/11/2011, 18h54
  4. recupération apres crash driver
    Par gargle dans le forum Windows
    Réponses: 1
    Dernier message: 22/09/2006, 18h02
  5. Réponses: 1
    Dernier message: 23/01/2006, 16h00

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