Extraire une valeur d'une chaine de caractères

feistus Messages postés 2 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 14 juin 2009 - 13 juin 2009 à 11:46
feistus Messages postés 2 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 14 juin 2009 - 14 juin 2009 à 13:20
Bonjour,

Dans l'application, j'ai besoin d'extraire une valeur d'un QString et la mettre dans une variable. Je précise que j'utilise QT.

Dans ce QString, une ligne m'interesse particuliement, et en particulier une valeur:

numTelephone: 1234

Je souhaiterais donc dans cette exemple récupérer 1234 dans une variable.
Je pense qu'il faut utiliser les expressions régulières, voici ce que j'ai fais:

rx.setPattern("^"numTelephone:".([0-9]{3,})$");
if (rx.indexIn(msg) > -1) numeroTelephone = rx.cap(1);

msg est le QString que je récupère.

Pouvez-vous m'aider à récupérer cette valeur ?
Merci d'avance

3 réponses

cptpingu Messages postés 3834 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 20 octobre 2021 125
13 juin 2009 à 12:04
Pas besoin d'utiliser les expressions rationnelles pour ça.
Tu as les méthodes:
- left
- mid
- right
- indexOf
- lastIndexOf

Avec tout ça tu peux récupérer une partie de ta chaîne. Par exemple tu peux détecter la position de ":" avec indexOf, et ensuite ne garde que ce qu'il y a après avec right (en l'occurence ton nombre).
Voir la doc, très bien faite qui contient des exemples: http://doc.trolltech.com/4.5/qstring.html
0
cptpingu Messages postés 3834 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 20 octobre 2021 125
13 juin 2009 à 12:07
Voir aussi la méthode: section du QString: http://doc.trolltech.com/4.5/qstring.html#section
0
feistus Messages postés 2 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 14 juin 2009
14 juin 2009 à 13:20
Merci, j'essayerai ça demain.
0