logo

Comment supprimer les caractères spéciaux d'une chaîne en Java

Un caractère qui n’est pas un caractère alphabétique ou numérique est appelé un caractère spécial. Nous devons supprimer tous les caractères spéciaux de la chaîne afin de pouvoir lire la chaîne clairement et couramment. Les caractères spéciaux ne sont pas lisibles, il serait donc bon de les supprimer avant de les lire.

commande de retour java

Méthode Java replaceAll()

Java remplace tout() méthode de Chaîne class remplace chaque sous-chaîne de cette chaîne qui correspond à l'expression régulière donnée par le remplacement.

Syntaxe

 public String replaceAll(String regex, String replacement) 

Cette méthode accepte deux paramètres:

    expression régulière :Il s'agit de l'expression régulière à laquelle la chaîne doit correspondre. Il peut s'agir de différents types.remplacement:La chaîne à remplacer pour la correspondance.

Il renvoie le Chaîne résultante . Ça jette PatternSyntaxException si la syntaxe de l'expression régulière n'est pas valide. La méthode ci-dessus donne le même résultat que l'expression :

 Pattern.compile(regex).matcher(str).replaceAll(repl) 

Exemple de suppression de caractères spéciaux à l'aide de la méthode replaceAll()

Dans l'exemple suivant, la méthode RemoveAll() supprime tous les caractères spéciaux de la chaîne et les remplace par un espace.

 public class RemoveSpecialCharacterExample1 { public static void main(String args[]) { String str= 'This#string%contains^special*characters&.'; str = str.replaceAll('[^a-zA-Z0-9]', ' '); System.out.println(str); } } 

Sortir

 This string contains special characters 

Exemple

Dans l'exemple suivant, nous remplaçons tous les caractères spéciaux par l'espace.

 public class RemoveSpecialCharacterExample2 { public static void main(String args[]) { String str = 'Hello+-^Java+ -Programmer^ ^^-- ^^^ +!'; str = str.replaceAll('[-+^]*', ' '); //str=str.replaceAll('\W', ' ') //we can also use this regular expression System.out.println(str); } } 

Sortir

arbres évasés
 Hello Java Programmer ! 

Exemple de suppression de caractères spéciaux à l'aide d'une logique définie par l'utilisateur

Dans l'exemple suivant, nous définissons une logique pour supprimer les caractères spéciaux d'une chaîne. Nous savons que la valeur ASCII des alphabets de lettres majuscules commence entre 65 et 90 (A-Z) et que la valeur ASCII de l'alphabet des lettres minuscules commence entre 97 et 122 (a-z). Chaque caractère est comparé à sa valeur ASCII correspondante. Si les deux conditions spécifiées renvoient vrai, elles renvoient vrai, sinon elles renvoient faux. Le pour la boucle s'exécute jusqu'à la longueur de la chaîne. Lorsque la chaîne atteint sa taille, elle termine l'exécution et nous obtenons la chaîne résultante.

 public class RemoveSpecialCharacterExample3 { public static void main(String[] args) { //declare a string having special characters String str=&apos;Pr!ogr#am%m*in&amp;g Lan?#guag(e&apos;; String resultStr=&apos;&apos;; //loop execute till the length of the string for (int i=0;i64 &amp;&amp; str.charAt(i)<=122) returns true if both conditions { adding characters into empty string resultstr="resultStr+str.charAt(i);" } system.out.println('string after removing special characters: '+resultstr); < pre> <p> <strong>Output</strong> </p> <pre> String after removing special characters: ProgrammingLanguage </pre> <hr></=122)>