Mit QRegExp Ausdruck Stirng durchsuchen
Verfasst: 12. August 2008 12:16
Hallo freunde der leichten Unterhaltung
Bin neu in der Welt der programmierung.
Habe folgendes Problem, ich bekomme, leider nicht am
Stück von einem Messgerät Strings der Form:
+3.30818054E+02OHM,+62138.275SECS,+1146193RDNG#
Von diesem String benötige ich "+3.30818054E+02OHM".
Da mit String splitting die sache nicht so doll funkte habe ich gedacht na dann schauen wir mal wie es mit QRegExp klappt.
Ich lese also solange ein bis der Gesamt String einen String in der oben
angegebenen Form beinhaltet. Dies wollte ich mit folgendem
Reg.-Ausdruck durhführen:
QRegExp rx("[+]\\d\\.\\d\\d\\d\\d\\d\\d\\d\\d[E][+]\\d\\d\\D\\D\\D");
aber irgendwie will der nicht so wie ich will.
Ich wollte dann die Position des Strings durch:
int pos = 0;
QStringList qstrlistnumber;
while ((pos = rx.indexIn(gesamtstring, pos)) != -1)
{
int pos += rx.matchedLength();
qstrlistnumber.append(QString::number(pos));
}
Aber irgendwie will das alles nicht klappen.
Könntet ihr mir helfen.
Danke!
Bin neu in der Welt der programmierung.
Habe folgendes Problem, ich bekomme, leider nicht am
Stück von einem Messgerät Strings der Form:
+3.30818054E+02OHM,+62138.275SECS,+1146193RDNG#
Von diesem String benötige ich "+3.30818054E+02OHM".
Da mit String splitting die sache nicht so doll funkte habe ich gedacht na dann schauen wir mal wie es mit QRegExp klappt.
Ich lese also solange ein bis der Gesamt String einen String in der oben
angegebenen Form beinhaltet. Dies wollte ich mit folgendem
Reg.-Ausdruck durhführen:
QRegExp rx("[+]\\d\\.\\d\\d\\d\\d\\d\\d\\d\\d[E][+]\\d\\d\\D\\D\\D");
aber irgendwie will der nicht so wie ich will.
Ich wollte dann die Position des Strings durch:
int pos = 0;
QStringList qstrlistnumber;
while ((pos = rx.indexIn(gesamtstring, pos)) != -1)
{
int pos += rx.matchedLength();
qstrlistnumber.append(QString::number(pos));
}
Aber irgendwie will das alles nicht klappen.
Könntet ihr mir helfen.
Danke!