Java >> Tutoriel Java >  >> Tag >> String

Java Supprimer les caractères spéciaux de la chaîne

Java Supprimer les caractères spéciaux de la chaîne | À l'exception des caractères alphanumériques restants, les autres caractères sont considérés comme des caractères spéciaux. Un chiffre ou un alphabet ne sont pas considérés comme des caractères spéciaux. Par exemple « [email protected]#$%^&* », ces caractères sont appelés caractères spéciaux. Ces caractères n'ont pas besoin d'être utilisés partout, ils peuvent parfois être indésirables.

La chaîne Java remplace les caractères spéciaux

Ici, nous allons remplacer un seul caractère spécial par un alphabet. Pour ce faire, nous pouvons utiliser la méthode replaceAll() disponible en Java. Nous imprimerons à la fois la chaîne réelle et la chaîne après le remplacement afin que la différence puisse être trouvée facilement.

public class Main {
   public static void main(String[] args) {
      String string = "[email protected] [email protected]";
      System.out.println("Actual String = " + string);

      string = string.replaceAll("[@]", "o");
      System.out.println("String after replacement = " + string);
   }
}

Sortie :

Chaîne réelle [email protected] [email protected]
Chaîne après remplacement =Connaître le programme

Dans le programme ci-dessus, tous les caractères spéciaux "@" sont remplacés par le nouveau caractère "o". Par conséquent, la chaîne "[email protected] [email protected]" devient "Know Program.

Comment supprimer les caractères spéciaux d'une chaîne en Java à l'aide de Regex

Auparavant, nous remplacions tous les caractères spéciaux d'une chaîne en utilisant la méthode replaceAll(). Nous pouvons faire la même chose en utilisant des expressions régulières. Dans la méthode replaceAll(), nous utilisons '^' ce caractère sélectionne les autres caractères à l'exception du caractère mentionné.

public class Main {
   public static void main(String[] args) {
      String string = "@Know$ ##Pr%ogram*";
      System.out.println("Actual String = " + string);

      string = string.replaceAll("[^a-zA-Z]", "");
      System.out.println("String after replacement = " + string);
   }
}

Sortie :

Chaîne réelle =@Know$ ##Pr%ogram*
Chaîne après remplacement =KnowProgram

Java remplace tous les caractères spéciaux de la chaîne

Dans ce code, nous utilisons le bloc if dans la boucle pour spécifier le besoin du caractère, à l'exception des caractères spécifiés, tous les autres caractères seront supprimés. Dans la condition if, nous avons écrit le code de sorte que les caractères autres que a-z, A-Z et 0-9 soient supprimés de la chaîne. Ce code supprime également les espaces.

Programme Java pour supprimer les espaces et les caractères spéciaux de la chaîne

public class Main {
   public static void main(String[] args) {
      String string = "Kno$*w;..,98   P7rogr5'a^m?6";
      for (int i = 0; i < string.length(); i++) {
         if ((string.charAt(i) < 'A' || string.charAt(i) > 'Z') && 
            (string.charAt(i) < 'a' || string.charAt(i) > 'z') &&
            (string.charAt(i) < '0' || string.charAt(i) > '9')) {
            string = string.substring(0, i) + string.substring(i + 1);
            i--;
         }
      }
      System.out.print(string);
   }
}

Sortie :

Know98P7rogr5am6

Java Supprimer les caractères spéciaux de début de chaîne

Maintenant, nous supprimons uniquement le caractère spécial en premier lieu. Nous pouvons le faire en spécifiant l'index. Afin de supprimer le premier caractère spécial de début, nous créons une méthode statique removeLeading() qui utilise la classe StringBuilder et utilise la boucle if pour supprimer le caractère spécial à l'index particulier.

public class Main {
   public static String removeLeading(String s) {
      StringBuilder sb = new StringBuilder(s);
      while ( sb.length() > 1 && sb.charAt(0) == '@' || 
            sb.charAt(0) == '!' || sb.charAt(0) == '#' || 
            sb.charAt(0) == '$' || sb.charAt(0) == '%') {
         sb.deleteCharAt(0);
      }
      return sb.toString();
   }

   public static void main(String[] args) {
      String string = "%Kno$*w;..,   Progr'a^m?0";
      System.out.println(removeLeading(string));
   }
}

Sortie :-

Savoir ;.., Progr'a^m ?0

Supprimer le dernier caractère spécial de la chaîne Java

Afin de supprimer les derniers caractères spéciaux de la chaîne, nous créons à nouveau une méthode statique removeLast() qui utilise la classe StringBuilder pour manipuler la chaîne en utilisant la boucle if.

public class Main {

   public static String removeLast(String s) {
      StringBuilder sb = new StringBuilder(s);
      while (sb.length() > 1 && sb.charAt(sb.length() - 1) == '@' || 
            sb.charAt(sb.length() - 1) == '!'|| 
            sb.charAt(sb.length() - 1) == '#' || 
            sb.charAt(sb.length() - 1) == '$'|| 
            sb.charAt(sb.length() - 1) == '%') {
         sb.setLength(sb.length() - 1);
      }
      return sb.toString();
   }

   public static void main(String[] args) {
      String s = "%Kno$*w;..,   Progr'a^m#";
      System.out.println(removeLast(s));
   }
}

Sortie :

%Kno$*w;.., Progr'a^m


Balise Java