Seite 1 von 1

QString umbrüche entfernen

Verfasst: 3. Januar 2013 12:30
von Necropsy
Wie entferne ich umbrüche aus einen QString?

versucht habe ich schon.

sourceString.remove("\r\n");
sourceString.remove("\\r\\n");
sourceString.remove("\n");
sourceString.remove("\\n");

sourceString.replace("\r\n"," ");
sourceString.replace("\\r\\n"," ");
sourceString.replace("\n"," ");
sourceString.replace("\\n"," ");

lg Necropsy

Re: QString umbrüche entfernen

Verfasst: 3. Januar 2013 13:47
von brax
Necropsy hat geschrieben: sourceString.remove("\r\n");
sourceString.remove("\n");

sourceString.replace("\r\n","");
sourceString.replace("\n","");
Such Dir die schönere Variante aus (ich tendiere zum remove...). In Deinen replace aufrufen ersetzt Du den Umbruch mit einem Leerzeichen, ist das gewollt?

Wie kommst Du darauf, dass das nicht funktioniert? Führ mal das Programm aus:

Code: Alles auswählen

int main(int c, char** v)
{
	QString  foo("\r\n\n\n\r\n");
	qDebug() << foo.count("\n");
	foo.remove("\r\n");
	foo.remove("\n");
	qDebug() << foo.count("\n");
	foo = "\r\n\n\n\r\n";
	qDebug() << foo.count("\n");
	foo.replace("\r\n", "");
	foo.replace("\n","");
	qDebug() << foo.count("\n");
        return 0;
}
Es wird Dir
4
0
4
0
ausgeben....

Re: QString umbrüche entfernen

Verfasst: 3. Januar 2013 14:46
von Necropsy
Also die Escapesequenzen stehen nicht direkt drinne ich habe aus einer XML den Text ausgelesen, dies erfolgte über ein QDomText element und diese habe ich dan in einen QString gespeichert, es sind aber umbrüche im String enthalten und da ein Umbruch eigentlich ja auch nichts anderes als ein Char ist den der Creator als "Standard" nimmt hatte ich gedacht das er \n oder \r\n verwendet allerdings ist das Ergebniss immer gleich, die Umbrüche sind stehts vorhanden.

Das deine Lösung funktioniert ist mir klar ^^, aber trotzdem danke für die Hilfe.

lg Necropsy

Re: QString umbrüche entfernen

Verfasst: 3. Januar 2013 17:42
von Markus
Kann man das nicht einfach mit QString::simplified() erledigen?