2012-05-22 13 views

Antwort

20

Verwendung dieses: obwohl [^x0-9]

Sie überprüfen kann es auf http://gskinner.com/RegExr/

+0

Ich habe vergessen, auch Großbuchstaben x anzugeben, also wäre das okay [^ xX0-9]? Danke Nurlan. –

0

ich es herausgefunden, vielleicht gibt es einen besseren Weg, es zu tun.

number.replaceAll("[^\\d+xX]", ""); 
+0

sollte es "[^ \\ d + xX]" mit dem doppelten Schrägstrich lesen. –

+1

@George - Warum das Pluszeichen verwenden? Würde das nicht dazu führen, dass Pluspunkte übersprungen werden? – jahroy

0

sollten Sie verwenden:

number.replaceAll("[\\D&&[^x]]", "") 
7

Ihre regex

number.replaceAll("[^\\dxX]+", ""); 

keine Notwendigkeit, normale Zeichen innerhalb einer Zeichenklasse zu entkommen. Eine Verbesserung ist auch, den Quantor + nach der Zeichenklasse zu haben, so dass Sequenzen dieser Zeichen auf einmal ersetzt werden und nicht jedes Zeichen selbst.

einige regex Grundlagen Lesen Sie auf Xisb: What absolutely every Programmer should know about regular expressions

Verwandte Themen