Ich versuche, eine Zahl zu nehmen, wandeln Sie es in eine Zeichenfolge um und ersetzen Sie alle Zeichen, die kein Triple sind.Java regex negativer Lookahead zum Ersetzen von nicht-dreifachen Zeichen
Eg. Wenn ich 1222331
übergebe, sollte meine Ersetzungsmethode 222
zurückgeben. Ich kann feststellen, dass dieses Muster existiert, aber ich muss den Wert erhalten und in eine Zeichenfolge für zusätzliche Logik speichern. Ich möchte keine for-Schleife ausführen, um diese Zeichenfolge zu durchlaufen.
Ich habe den folgenden Code:
String first = Integer.toString(num1);
String x = first.replaceAll("^((?!([0-9])\\3{2})).*$","");
Aber es ersetzt auch die dreistelligen Bereich. Ich brauche es nur, um den Rest der Charaktere zu ersetzen. Ist meine Vorgehensweise falsch?
Vielleicht 'first = first.replaceAll (" ((\\ d) \\ 2 {2}) | \\ d "," $ 1 ");'? –
@jorge Campos, dass man nicht gearbeitet hat, da es gerade 3 Zahlen hintereinander zurückgegeben hat. – Help123
@Stribizhev, dass man gearbeitet hat! Vielen Dank. Ich hätte eine strikte Erfassung verwenden sollen, anstatt negatives Lookahead zu verwenden. – Help123