Recuperer nombre dans une chaine de caractere

- - Dernière réponse : Whismeril
Messages postés
12410
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
- 7 mai 2018 à 18:06
Bonjour,
je desire recuperer chaque nombre dans une chaine de caractere et le mettre dans un combobox
exemple si str= mimi24 est avec toto64 en compagnie de dianne9
je dois avoir dans mon combobox ceci:
<<combobox>>
24
64
9
voici mon code qui marche mais affiche ceci : 24649
Dim l As Integer
                Dim ascii As Integer
                Dim numerique As String = ""
                For l = 1 To Len(message)
                    ascii = Asc(Mid(message + vbNewLine, l, 1))
                    If (ascii > 43 And ascii < 47) Or (ascii > 47 And ascii < 58) Then numerique = numerique & Mid(message + vbNewLine, l, 1)
                Next
                'coeur d'attente
                If Not ComboBox1.Items.Contains(numerique) Then
                    ComboBox1.Items.Add(numerique)
                End If
Afficher la suite 

Votre réponse

1 réponse

Messages postés
12410
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
0
Merci
Bonjour,

utilise une regex
 \d+

Voir un exemple ci dessous, regarde l'onglet "Table"

http://regexstorm.net/tester?p=%5cd%2b&i=mimi24+est+avec+toto64+en+compagnie+de+dianne9+


Un petit tuto (en C#)
https://lgmorand.developpez.com/dotnet/regex/

Pour traduire le C# en VB.NET
https://www.google.com/search?q=C%23+to+vb&sourceid=ie7&rls=com.microsoft%3Afr-FR%3AIE-Address&ie=&oe=&gws_rd=ssl
cs_JMO
Messages postés
1855
Date d'inscription
jeudi 23 mai 2002
Dernière intervention
24 juin 2018
> jacobmahone -
Bonjour jacobmahone,

Bonjour Whismeril (bravo pour ton dernier tutoriel concernant le binding)

En ajoutant les références
Option Strict On
Option Explicit On
Imports System.Text.RegularExpressions
et
        Dim message As String = "mimi24 est avec toto64 en compagnie de dianne9 "
        Dim pattern As String = "\d+"

        For Each m As Match In Regex.Matches(message, pattern)
            MessageBox.Show(m.Value)
        Next

Il te suffit donc de constituer ta collection.

Oubli:
Afin de faire du vb.Net et non un mix vb6 & vb.Net, dans les références du projet (espaces de noms importés), il faut décocher la référence à "Microsoft.VisualBasic".
Whismeril
Messages postés
12410
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
-
Salut Jean Marc, merci

@Jacob
son usage m'echape
et pourquoi je t'ai mis un lien vers un tuto?
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.