English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La siguiente expresión regular coincide con todos los caracteres especiales, es decir, todos los caracteres excepto las letras inglesas, los espacios y los números.
"[^a-zA-Z0-9\\s+]
Para mover todos los caracteres especiales al final de la línea dada, utilice esta expresión regular para coincidir todos los caracteres especiales con una cadena vacía, luego conectar el resto de los caracteres en otra cadena y conectar estas dos cadenas.
public class RemovingSpecialCharacters { public static void main(String args[]) { String input = "texto # * con caracteres especiales @"; String regex = "[^a-zA-Z0-9\\s+]"; String specialChars = ""; String inputData = ""; for(int i=0; i< input.length(); i++) { char ch = input.charAt(i); if(String.valueOf(ch).matches(regex)) { specialChars = specialChars; + ch; } else { inputData = inputData + ch; } } System.out.println("Result: "+inputData+specialChars); } }
Resultado de salida
Resultado: texto con caracteres especiales #*&@
A continuación se muestra un programa Java que utiliza los métodos del paquete Regex para desplazar los caracteres especiales de una cadena al final.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String args[]) { String input = "texto # * con caracteres especiales @"; String regex = "[^a-zA-Z0-9\\s+]"; String specialChars = ""; System.out.println("Cadena de entrada: "+input); //Crear un objeto de patrón Pattern pattern = Pattern.compile(regex); //Coincidir con el patrón compilado en la cadena Matcher matcher = pattern.matcher(input); //Crear un búfer de cadenas vacío StringBuffer sb = new StringBuffer(); while (matcher.find()) { specialChars = specialChars;+matcher.group(); matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println("Resultado: "+ sb.toString();+specialChars ); } }
Resultado de salida
Cadena de entrada: texto # * con caracteres especiales @ Resultado: texto con caracteres especiales #*&@