Recuperer nombre dans une chaine de caractere

- - Dernière réponse : Whismeril
Messages postés
14042
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 décembre 2019
- 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 

1 réponse

Messages postés
14042
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 décembre 2019
324
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
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
23 > 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
14042
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 décembre 2019
324 -
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