java - solo - Expresión regular para eliminar todo menos caracteres y números.
expresiones regulares java (5)
Algunos están olvidando el carácter "_":
String regex = "[_//W]";
public class RegexFun2 {
public static void main(String[] args) {
String test = "MAX EUK_1334-PP/B+";
String regex = "[_//W]";
String result = test.replaceAll(regex, "");
System.out.println(result);
}
}
Pero aún creo que el OP se está engañando a sí mismo al no demostrar que lo intentó primero y publicar su intento en su pregunta original. Sólo mis 2 centavos.
Me gustaría eliminar todo, excepto los caracteres az, AZ y 0-9 de una cadena, por lo que necesito crear una expresión regular para la string.replaceAll(regex, "");
de string.replaceAll(regex, "");
La vieja cuerda se vería así:
MAX EUK_1334-PP/B+
La nueva cadena debería verse así:
MAXEUK1334PPB
Probablemente haya una expresión regular más concisa, pero esto ciertamente funcionará:
string.replaceAll("[^a-zA-Z0-9]", "");
Puedes usar valores ASCII de caracteres:
while(!end of string){
if(valueOfChar is between 48-57 or 65-90 or 97-122)
write it to your string
}
Esto puede ayudar, pero no sé si se supone que debes escribir el código con replaceAll
. Tanto replaceAll
como este código funcionan con el mismo rendimiento ( O(n)
).
string.replaceAll("[^a-zA-Z0-9]+", "");
String test = "MAX EUK_1334-PP/B+";
test = test.replaceAll("[//W_]", "");
System.out.println(test + "/n");
Resultado impreso:
MAXEUK1334PPB