Seite 1 von 1

QString trimmed() Bug?

Verfasst: 26. Juni 2006 16:32
von Sym
Hallo,

folgender Code funktioniert bei mir nicht:

Code: Alles auswählen

QString s("bla bla");
  qDebug() << s << "  " << s.trimmed();
Ich nutze Qt 4.1.3 unter Windows. Habt ihr ähnliche Probleme

Umgangen habe ich das Problem jetzt durch

Code: Alles auswählen

s.replace(" ", "");
was allerdings eine Referenz zurück gibt und den String somit ändert. Ist natürlich handlebar, aber unschön.

Verfasst: 26. Juni 2006 18:07
von ChMaster
servus,

.trimmed(); nimmt nur leerzeichen vom anfang und ende weg, aber nicht
im string selber.

Verfasst: 26. Juni 2006 20:03
von Sym
Hmm,

anscheinend habe ich mich da in der Doku verlesen.

Danke.

Verfasst: 26. Juni 2006 20:12
von patrik08
QString str("bla bla");

mit QStringList list = str.split(" ");
und dann QString sauber = list.join("");

bekommst du alle leere raus....

Verfasst: 26. Juni 2006 20:49
von Sym
patrik08 hat geschrieben:QString str("bla bla");

mit QStringList list = str.split(" ");
und dann QString sauber = list.join("");

bekommst du alle leere raus....
Da finde ich replace aber schöner. Somit benötige ich auch keinen weiteren Header (QStringList) in meiner Klasse. ;) Aber danke.

Verfasst: 27. Juni 2006 20:54
von Der Neue
Da sich ja auch bei replace der String verändert, könntest du ja auch einfach folgendes schreiben:

QString str("bla bla");
str.remove(' ');

Das verdeutlicht die tatsächliche Absicht besser, es sei denn ich täusch mich.