[Solucionado]Duda con regex

Iniciado por .:UND3R:., 25 Noviembre 2013, 21:18 PM

0 Miembros y 3 Visitantes están viendo este tema.

.:UND3R:.

#10
Wuajajaja funciona de maravilla, muchas gracias  ;-)

Edit: hay un pequeño problema lo que ocurre es que estoy filtrando un jtexfield cuando escribo una letra o lo que sea se convierte en un "-", cómo se arreglaría aquello?

Código (java) [Seleccionar]
public void insertString(int offset, String  str, AttributeSet attr) throws BadLocationException {
        if (str == null) return;

        if ((getLength() + str.length()) <= limit) {
            super.insertString(offset, str.replaceAll("([^\\d]+){1,3}", "-"), attr);
        } else if (getLength() <= limit) {
            super.insertString(offset, str.substring(0, limit-getLength()), attr);
        }
    }

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

.:UND3R:.

Esto funciona cuando hacen un copy paste en el textfield pero no cuando se escribe de forma manual:

Código (java) [Seleccionar]
public void insertString(int offset, String  str, AttributeSet attr) throws BadLocationException {
        if (str == null) return;

        if ((getLength() + str.length()) <= limit) {
            super.insertString(offset, str.replaceAll("([^\\d]+){1,3}", "-"), attr);
        } else if (getLength() <= limit) {
            super.insertString(offset, str.substring(0, limit-getLength()).replaceAll("([^\\d]+){1,3}", "-"), attr);
        }
    }

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Danyfirex

mmm lo tienes como un callback. (es que no se java)

pues tendrías que colocar mas condiciones. no manejo mucho expresiones regulares eso fue algo básico que recordaba y como dices funciona solo cuando esta todo en el  textfield si vas escribiendo remplazara por "-" menos los números.

.:UND3R:.

De todas formas, muchas gracias, a ver si alguien se anima a solucionar el pequeño desperfecto del regex, saludos :)

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

.:UND3R:.

Solucionado, tuve que aprender regex  :(, adjunto el código:

Código (java) [Seleccionar]
str = str.replaceAll("^\\-|[^0-9\\-]|\\-$", "");
        while(str.contains("--")){
            str = str.replaceAll("\\-\\-", "-");
        }


Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)