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

Windows Forms Discussion :

recuperer ip dans une chaine


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 24
    Points
    24
    Par défaut recuperer ip dans une chaine
    bonjour ,

    je suis débutant en vb.net et j'ai une chaine qui contient un ip ex:

    //192.168.0.1/aa/bb

    je veux recuperer seulement ip avec n'importe quel ip ex peut etre :
    //192.168.100.12/hh/dd
    ou
    //81.12.0.100/aa/bb
    et(merci)

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 138
    Points : 121
    Points
    121
    Par défaut
    Salut,

    utilise les fonctions de recherche de caractères de la classe string pour ne prendre qu'à partir du 3ème caractère (après le second slash),puis juqu'au prochains slash. C'est assez facile. Tu trouveras un très bon cours ici:
    http://plasserre.developpez.com/v1-6string.htm

    Manu

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Tu peux aussi utiliser la fonction split qui sépare une chaine en fonction d'un caractère donné en un tableau de chaine. Il te reste ensuite à prendre le bon élément du tableau.

    Griftou.

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    C'est aussi possible avec une expression rationnelle : Regex

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    il y a plusieurs approches possibles...
    Avec un split :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim parts() as String = chaine.Split({"/"c}, StringSplitOptions.RemoveEmptyEntry)
    Dim ip as String = parts(0)
    (désolé s'il y a des erreurs de syntaxe, je ne suis pas VBiste...)

    Ou avec une expression régulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim r as new RegEx("[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
    Dim m as Match = r.Match(chaine)
    dim ip as string = m.value
    (ou quelque chose dans ce gout là)

    EDIT: oula, je suis à la bourre

  6. #6
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    tomlev, t'as oublié une fonction récursive qui utilise substring

    Griftou.

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Merci je l'ai fait la voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function ip(ByVal adrip As String) As String
            Dim adr As String = adrip
            Dim B As Char() = {"\\"}
            adr = adr.Trim(B)
            Dim adrssip As String
            For i As Integer = 0 To adr.Trim.Length - 9
                adrssip = adrssip & adr(i)
            Next
            Return (adrssip)
        End Function

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    C'est loin d'être la meilleure solution... un split ou une regex aurait été plus propre à mon avis

    Sinon j'ai une autre idée, qui relève un peu de la bidouille : tes chaines "//192.168.0.1/aa/bb" ressemblent étrangement à des URL, il manque juste la partie "scheme" ("http", "ftp" par exemple...). Or la classe Uri permet de décomposer une URL très facilement... donc il suffit de transformer ta chaine en URL et de récupérer le champ Host :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim url as new Uri("http:" & chaine)
    dim ip as string = url.Host

  9. #9
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 177
    Points : 80
    Points
    80
    Par défaut
    Merci infiniment ce que je cherche mon amis.

    j'ai pu le faire mais j'ai voulu comme cette fonction la. merci.

Discussions similaires

  1. [RegEx] Récupération de valeurs dans une chaine de caractères
    Par Seth77 dans le forum Langage
    Réponses: 1
    Dernier message: 09/08/2007, 10h39
  2. Recuperation d'un entier situe dans une chaine de caractere
    Par gregounnet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/07/2007, 16h41
  3. Réponses: 3
    Dernier message: 01/03/2007, 16h24
  4. Comment récupérer un chiffre dans une chaîne ?
    Par kenny49 dans le forum Langage
    Réponses: 1
    Dernier message: 16/08/2006, 15h52
  5. recuperer certains temes dans une chaine de caractere
    Par leviathan516 dans le forum ASP
    Réponses: 2
    Dernier message: 15/10/2004, 11h42

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