Wie "." ersetzen mit QRegExp ?

Alles rund um die Programmierung mit Qt
Antworten
pq
Beiträge: 2
Registriert: 27. Februar 2009 08:16

Wie "." ersetzen mit QRegExp ?

Beitrag 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
jerry42
Beiträge: 126
Registriert: 9. Oktober 2008 10:48

Beitrag von jerry42 »

Hi,

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

das funktioniert.

Gruß jerry42
pq
Beiträge: 2
Registriert: 27. Februar 2009 08:16

Beitrag von pq »

super ... werd ich heute Abend ausprobieren. !
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Antworten