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 :

Découpage de chaîne.


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut Découpage de chaîne.
    Bonjour,

    J'ai une chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    phrase = "127.0.0.1    - 255.255.255.128- 00-86-9d-8d-48-3c   -27/10/2013 03:40:47    -D-  pc1.mon.domaine.fr"
    Je souhaiterais extraire des données de ma chaine de facon propre. je pense que le plus simple est de spliter au séparateur "-".

    Comment faire pour extraire : IP, Mask, MAC, DateTime Type Device.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    phrase = "127.0.0.1    - 255.255.255.128- 00-86-9d-8d-48-3c   -27/10/2013 03:40:47    -D-  pc1.mon.domaine.fr"
     
    wscript.echo parse(phrase)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function parse(strtoparse)
        'découpe la chaine en fonction des tirets "-"
        'le résultat de la fonction Split est stocké dans un tableau
        Tableau = Split(strtoparse, "-")
     
        'boucle sur le tableau pour visualiser le résultat
        For i = 0 To UBound(Tableau)
        	'Le résultat s'affiche dans la fenêtre d’exécution de l'éditeur de macros
            parse = parse &  Tableau(i)
        Next
    end function
    Merci d'avance pour votre aide.

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

    Informations professionnelles :
    Activité : Enseignant

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

    Juste une question est-ce-que ceci est un LogFile qui est généré par un script automatiquement ?

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

    Informations professionnelles :
    Activité : Enseignant

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

    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
    Function parse(strtoparse)
        'découpe la chaine en fonction des tirets "-"
        'le résultat de la fonction Split est stocké dans un tableau
        Tableau = Split(strtoparse,VbCrLF)
     
        'boucle sur le tableau pour visualiser le résultat
        For i = 0 To UBound(Tableau)
        	'Le résultat s'affiche dans la fenêtre d’exécution de l'éditeur de macros
            parse = parse &  Tableau(i) & VbCrLF
        Next
        parse = parse
    End Function
    Titre = "Découpage de Chaînes"
    phrase = " 127.0.0.1  "&vbCrLf&" 255.255.255.128  "&vbCrLf&" 00-86-9d-8d-48-3c  "&vbCrLf&" 27/10/2013 03:40:47    "&vbCrLf&" D : pc1.mon.domaine.fr"
    MsgBox parse(phrase),64,Titre

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut
    Merci pour ta réponse

    La phrase est le résultat d'une commande DOS en fait donc ça ne va pas aller

    La syntaxe de retour de la commande exacte est ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "127.0.0.1    - 255.255.255.128- 00-86-9d-8d-48-3c   -27/10/2013 03:40:47    -D-  pc1.mon.domaine.fr"
    Le séparateur le mieux adapté est donc le tiret.
    Parfois il y a un espace avant ou après le tiret, parfois non.
    A un moment l'@MAC comprend que des tirets :00-86-9d-8d-48-3c, il faut donc les garder sans les couper, etc... pas facile



    Donc le retour chariot vbCrLf que tu as ajouté, ca ne fonctionnera pas

    Merci.

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

    Informations professionnelles :
    Activité : Enseignant

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

    Pouvez-vous poster le code du batch ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut
    Compliqué, c'est le résultat d'une commande DHCP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    netsh dhcp server \\localhost scope 127.0.0.1 show clients 1
    Ce qui va donner exactement :
    127.0.0.1 - 255.255.255.192- 00-80-9f-57-4d-d3 -27/10/2013 06:12:22 -D- Monpc1.mondomaine.fr
    127.0.0.2 - 255.255.255.192- 00-80-9f-7b-3c-8c -27/10/2013 06:06:33 -D- Monpc2.mondomaine.fr
    127.0.0.3 - 255.255.255.192- 00-80-9f-7a-83-a2 -27/10/2013 06:09:40 -D- Monpc3.mondomaine.fr
    En affichant les caractères spéciaux dans notepad++, il n'y a pas de tabulation dans les lignes que des espaces et retour chariot CRLF à chaque ligne.

    Je ne sais pas si tu auras plus d’éléments de réponse

    merci bcp.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/10/2007, 14h39
  2. Réponses: 4
    Dernier message: 19/10/2007, 09h46
  3. [Tableaux] Découpage de chaîne
    Par ssebuser dans le forum Langage
    Réponses: 10
    Dernier message: 21/12/2006, 17h12
  4. Découpage de chaînes
    Par innova dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 21/10/2006, 10h07
  5. [Débutant] Découpage de chaîne
    Par wkd dans le forum WinDev
    Réponses: 4
    Dernier message: 26/07/2006, 15h43

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