Extraction de plusieurs donnée dans une chaine de caracteres.. le Scanf du C
Mastronic
Messages postés94Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention13 juin 2012
-
11 janv. 2008 à 14:35
VanSnaeskerke
Messages postés3Date d'inscriptionlundi 2 août 2004StatutMembreDernière intervention31 mai 2008
-
31 mai 2008 à 09:32
Bonjour,
En VB .net , comment peut ton extraire certains informations dans une chaîne de caractères ?
en C nous avions, la fonction scanf qui pouvait faire ça. Du genre:
Exemple..
int a, b;
scanf("%d%*[a-z]%*[0-9]%*[a-z]%d", &a, &b);
On récupérer dans a et b les valeurs..
Ce son les expressions régulières qui remplace le scanf ?
Mais alors comment récupérer avec les expressions réguliers plusieurs valeurs.. ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 12 janv. 2008 à 01:29
salut,
les regex existent (aussi) en VB.net
voici un premier mot à taper...
sinon parmis les membres qui vont lire ton topic, certains sont sans aucun doute capables de t'aider sans pour autant savoir traduire du C.....
il peut t'être bon de reformuler
bonne soirée
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
VanSnaeskerke
Messages postés3Date d'inscriptionlundi 2 août 2004StatutMembreDernière intervention31 mai 2008 31 mai 2008 à 09:32
Il faut utiliser la méthode Groups de Match. Voici la solution :
Dim
ChaineDepart =
"X0.234Y0.34567"
Dim ChaineExtraite1 = Regex.Match(ChaineDepart,
"X(\d+\.\d+)Y(\d+\.\d+)?").Groups(1).Value
Dim ChaineExtraite2 = Regex.Match(ChaineDepart,
"X(\d+\.\d+)Y(\d+\.\d+)?").Groups(2).Value
On peut aussi récupérer tous les groupes d'un seul coup dans un objet GroupCollection qui se comporte comme une liste :
Dim ChaineDepart =
"X0.234Y0.34567"
Dim