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 :

[VB.NET] Recherche dans une chaine de caractères


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut [VB.NET] Recherche dans une chaine de caractères
    Bonjour

    Je veux effectuer une recherche dans une chaine de caractères si un tel mot est présent..

    chaine = "J'aime; J'adore beaucoup le site de developpez.com"

    et je veux rechercher le mot "site"

    les exemples me donne tjrs la facon de recherche et remplace ou bien obtenir lindex ou kec chose comme ca...de plus ma chaine peut varier

    que faire?
    merci!

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Tu peux effectivement utiliser IndexOf("site");

    Si c'est >= 0 c'est qu'il se trouve dedans.

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    salut

    si dans ma chaine de carac...le mot es en lettre majuscule? "SITE"

    avec indexof("site")...va til le trouver quand meme?

    faut til que je fasse 2 traitement different ou bien une genre daffaire comme ceci
    indexof("site" or "SITE")

    merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    je voulais seulement avoir une facon de faire optimisée!

    mais jai fais 2 fois mon traitement.... et jai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chaine1 = chaine1.indexof("site")
    chaine2 = chaine2.indexof("SITE")
    if chaine1 >= 0 or chaine2 >=0 then

    merci beaucoup Ditch!


  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CultureInfo.CurrentCulture.CompareInfo.IndexOf( chaine, "site", CompareOptions.IgnoreCase )
    Ça couvrira aussi "Site" :)

    (je viens de découvrir ça en même temps, c'est sympa, j'avais jamais regardé cette classe :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    Merci maniak!

    Je vais me coucher moins niaiseux ce soir!


  7. #7
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    Pourquoi ne pas faire un simple instr ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Dim MaPhrase As String
            MaPhrase = "J'aime; J'adore beaucoup le site de developpez.com"
            If InStr(MaPhrase.ToLower, "site".ToLower) > 0 Then
                MsgBox("coucou")
            End If

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Tu tiens à ce que je ressorte mon fouet ? :)

    BEEP fonction VB6
    BEEP c'est là juste pour compatibilité/migration VB6->.NET
    BEEP c'est dans 99% des cas plus lent, en plus d'être moins portable et de ne pas suivre le comportement 'naturel' des classes du framework (notamment toute l'intégration avec les classes de globalisation, qui sont concernées par le problème ici-présent)
    BEEP les fonctions VB6, c'est à jeter.
    BEEP exception pour bidou : si le job est de migrer des applis VB6, avec des dévs VB6, on peut faire des exceptions :)
    (du moment que ça ne continue pas dans les applis .NET 'pures' qui suivront :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    hahaha!!!

    Maniak...y l'a eu din dents en maudit!

    Sans rancune troxsa!

    LOL

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    (tiens, on sent comme un accent québecois là :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  11. #11
    Membre actif
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    386
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Novembre 2004
    Messages : 386
    Points : 264
    Points
    264
    Par défaut
    Je vois pas en quoi c'est plus lent !!!!
    et la fonction existe encore sous le .net, je pense qu'il y a pas mal d'expert cher Microsoft, si ils sont laissés cette fonction c'est pas pour la seul raison d'une migration quelconque
    je pense qu'elle represente pas mal d'avantage et de comprehention
    et encore une chose, Instr existe aussi sous la version 2005 (beta 2) si je me tompe pas, donc si les monsieurs qui dev le produit laisse utiliser ce mode "speudo vb6" dans une version 2005 c'est qu'il a forcement des bonne raison non ? RETURN BEEP

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Citation Envoyé par troxsa
    Je vois pas en quoi c'est plus lent !!!!
    Teste, ça et les diverses autres fonctions VB6 :)

    Citation Envoyé par troxsa
    et la fonction existe encore sous le .net, je pense qu'il y a pas mal d'expert cher Microsoft, si ils sont laissés cette fonction c'est pas pour la seul raison d'une migration quelconque
    Ben si.

    Citation Envoyé par troxsa
    je pense qu'elle represente pas mal d'avantage et de comprehention
    Complètement l'inverse. Ce sont des fonctions pas du tout orientées objet, qui rentrent en conflit avec l'organisation du framework, et qui réduisent fortement la compréhension du code pour quelqu'un qui ne fait pas de VB6 et qui doit maintenir du code VB.NET.

    Citation Envoyé par troxsa
    et encore une chose, Instr existe aussi sous la version 2005 (beta 2) si je me tompe pas, donc si les monsieurs qui dev le produit laisse utiliser ce mode "speudo vb6" dans une version 2005 c'est qu'il a forcement des bonne raison non ? ;)
    Parce qu'il y a toujours des applis VB6 en route ? :)

    (et parce qu'il y a toujours une platrée de dévs VB6 feignasses qui ne voudraient pas se mettre à .NET si ça voulait dire devoir abandonner leurs petites habitudes. ce qui n'est pas une excuse :)

    Citation Envoyé par troxsa
    RETURN BEEP :)
    /whip again
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2003
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Une autre méthode serait celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(chaine.ToUpper().IndexOf("SITE") > -1)
    Sinon, effectivement les fonctions qui nous viennent tout droit du VB6 sont a proscrire.

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

Discussions similaires

  1. Recherche dans une chaine de caractère
    Par vincmer28 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/04/2012, 17h03
  2. rechercher dans une chaine de caractère, un caractère avec un tant que
    Par levasseur62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/01/2011, 17h02
  3. [E-03] recherche dans une chaine de caractère
    Par lemerite dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/01/2009, 21h44
  4. Recherche dans une chaine un caractère.
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/09/2008, 19h32
  5. Recherche dans une chaine de caractères
    Par stepd dans le forum C
    Réponses: 4
    Dernier message: 19/07/2006, 18h55

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