Seite 1 von 1
[gelöst] QRegExp für Datei Endungen
Verfasst: 17. April 2012 19:21
von invaderzim
Hallo
habe ein QString in dem ein Filter eines Datei Dialoges steht
Bsp: QString a = QString("PNG (*.png)");
nun möchte ich anhand eines regulären Ausdruckes den Suffix rausholen z.b. "png"
Nur nicht speziell für png sondern für alle Dateiendungen die es gibt.
Wie sieht so ein regulärer Ausdruck aus?
lg
Re: QRegExp für Datei Endungen
Verfasst: 17. April 2012 19:53
von Christian81
Warum eine RegExp? Zum Testen oder einfach weil Du keine andere Möglichkeit hast? Ein QString::lastIndexOf('.') und gut ists.
Re: QRegExp für Datei Endungen
Verfasst: 17. April 2012 19:59
von invaderzim
eine QRegExp weil ich wirklich einne string mit "png" danach möchte.
index of liefert mir nur den index
Re: QRegExp für Datei Endungen
Verfasst: 17. April 2012 20:18
von Christian81
Aha, und aus dem Index und einer weiteren string-Funktion bekommst Du das nicht raus, denkst aber das Du es mit einer RegExp hinbekommst? Mhhh - ich würde sagen mit Kanonen auf Spatzen schiessen ist hier das Stichwort.
Re: QRegExp für Datei Endungen
Verfasst: 17. April 2012 20:36
von invaderzim
naja manchmal kann der suffix ja 4 lang sein..
und wenn ich mit QString::mid arbeite muss ich ja ne feste Länge eingeben!
Re: QRegExp für Datei Endungen
Verfasst: 17. April 2012 21:23
von Christian81
Und wo steht das bitte? Und selbst wenn man sie angeben müsste - die Länge des Strings rauszufinden sollte ja nicht das Problem sein...
[gelöst] Re: QRegExp für Datei Endungen
Verfasst: 17. April 2012 23:05
von invaderzim
hmm wie meinst du das mit "der Länge" abfragen
wie willst du die abfragen?
wenn du n QString hast: QString("PNG (*.png)") und einen QString("JPEG (*.jpeg)");
Um die länge zu bekommen müsstest du extra parsen.
egal, habs nun mit der RegExp gelöst
Re: [gelöst] QRegExp für Datei Endungen
Verfasst: 18. April 2012 06:22
von Christian81
*lol*
Ein wenig Doku lesen ist wohl wirklich sehr schwer... anders kann ich mir deine Aussagen über die Stringlänge und mid() nicht erklären
Code: Alles auswählen
QString filename = "lalelu.wasauchimmer";
int idx = filename.lastIndexOf('.');
QStrnig ext;
if(idx >= 0)
ext = filename.mid(idx+1);
Und dafür diskutieren wir hier so lange...
