Extraire une valeur d'une chaine de caractères

Signaler
Messages postés
2
Date d'inscription
samedi 13 juin 2009
Statut
Membre
Dernière intervention
14 juin 2009
-
Messages postés
2
Date d'inscription
samedi 13 juin 2009
Statut
Membre
Dernière intervention
14 juin 2009
-
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

Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
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
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Voir aussi la méthode: section du QString: http://doc.trolltech.com/4.5/qstring.html#section
Messages postés
2
Date d'inscription
samedi 13 juin 2009
Statut
Membre
Dernière intervention
14 juin 2009

Merci, j'essayerai ça demain.