Seite 1 von 1

Wie "." ersetzen mit QRegExp ?

Verfasst: 27. Februar 2009 09:45
von pq
Hallo.
Ich möchte Punkte "." in einem Text ersetzen und dazu QRegExp verwenden. Da "." beim Ausdruck ja bereits als Steuerzeichen verwendet wird, dachte ich, ich kann das dann mit dem Unicode Wert realisieren.

Code: Alles auswählen

    text="EINSpppZWEI...DREI";
    text.replace(QRegExp("p"),"X");
    text.replace(QRegExp("\\h002e"),"X");
Die 3 kleinen "p" werden durch ein "X" ersetzt.
Die Punkte jedoch nicht.

Code: Alles auswählen

EINSXXXZWEI...DREI
Wie kann man das machen ?

Gruß, pq

Verfasst: 27. Februar 2009 09:55
von jerry42
Hi,

text.replace(QRegExp("[.]"),"X");

das funktioniert.

Gruß jerry42

Verfasst: 27. Februar 2009 10:14
von pq
super ... werd ich heute Abend ausprobieren. !

Verfasst: 27. Februar 2009 15:01
von gerome69
Der Punkt ist halt ein Zeichen mit besonderer Bedeutung innerhalb eines RegEx. Er mußt deshalb "escaped" werden.

Dafür gibt es:
http://doc.trolltech.com/4.4/qregexp.html#escape

Gruß, Gérôme