English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Déplacer tous les caractères spéciaux à la fin de la chaîne en utilisant Java RegEx)

La suivante expression régulière correspond à tous les caractères spéciaux, c'est-à-dire tous les caractères qui ne sont pas des lettres anglaises, des espaces et des chiffres.

"[^a-zA-Z0-9\\s+]"

Pour déplacer tous les caractères spéciaux à la fin de la ligne donnée, utilisez cette expression régulière pour matcher tous les caractères spéciaux avec une chaîne vide, puis connectez les autres caractères en une autre chaîne et connectez ces deux chaînes.

Exemple1

public class RemovingSpecialCharacters {
   public static void main(String args[]) {
      String input = "sample # texte * avec des caractères spéciaux @ et
      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("Résultat : "+inputData+specialChars);
   }
}

Résultat de la sortie

Résultat: texte sample avec des caractères spéciaux#*&@

Exemple2

Voici un programme Java, qui utilise les méthodes du paquet Regex pour déplacer les caractères spéciaux de la chaîne à sa fin.

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String args[]) {
      String input = "sample # texte * avec des caractères spéciaux @ et
      String regex = "[^a-zA-Z0-9\\s+]";
      String specialChars = "";
      System.out.println("Chaîne d'entrée: \n");+input);
      //Créer un objet modèle
      Pattern pattern = Pattern.compile(regex);
      //Contraître le modèle compilé dans la chaîne
      Matcher matcher = pattern.matcher(input);
      //Créer un tampon de chaîne vide
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         specialChars = specialChars;+matcher.group();
         matcher.appendReplacement(sb, "");
      }
      matcher.appendTail(sb);
      System.out.println("Résultat: \n");+ sb.toString();+specialChars );
   }
}

Résultat de la sortie

Chaîne d'entrée:
texte sample # * avec des caractères spéciaux @ et
Résultat:
texte sample avec des caractères spéciaux#*&@
Vous pourriez aussi aimer