English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ecco un'espressione regolare che abbinamento tutti i caratteri speciali, ossia tutti i caratteri diversi da lettere inglesi, spazi e numeri.
"[^a-zA-Z0-9\\s+]"
Per spostare tutti i caratteri speciali alla fine della riga data, utilizzare questa espressione regolare per abbinare tutti i caratteri speciali a una stringa vuota, connettere i restanti caratteri in un'altra stringa e connettere queste due stringhe alla fine.
public class RemovingSpecialCharacters { public static void main(String args[]) { String input = "testo campione#*testo*con&caratteri speciali@"; 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("Risultato: " + inputData + specialChars); } }
Risultato di output
Risultato: sample text with special characters#*&@
Ecco un programma Java che utilizza i metodi del pacchetto Regex per spostare i caratteri speciali alla fine della stringa.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String args[]) { String input = "testo campione#*testo*con&caratteri speciali@"; String regex = "[^a-zA-Z0-9\\s+]"; String specialChars = ""; System.out.println("Stringa di input:\n"+input); //Creare un oggetto schema Pattern pattern = Pattern.compile(regex); //Abbinare la stringa con lo schema già compilato Matcher matcher = pattern.matcher(input); //Creare un buffer di stringa vuoto StringBuffer sb = new StringBuffer(); while(matcher.find()) { specialChars = specialChars+matcher.group(); matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println("Risultato:\n"+sb.toString()+specialChars); } }
Risultato di output
Stringa di input: testo campione#*testo*con&caratteri speciali@ Risultato: testo campione con caratteri speciali#*&@