logo

Cum să eliminați caracterele speciale din șir în Java

Un caracter care nu este un caracter alfabetic sau numeric se numește caracter special. Ar trebui să eliminam toate caracterele speciale din șir, astfel încât să putem citi șirul clar și fluent. Caracterele speciale nu sunt citite, așa că ar fi bine să le eliminați înainte de a le citi.

Metoda Java replaceAll().

Java înlocuiește-le pe toate() Metodă de Şir class înlocuiește fiecare subșir al acestui șir care se potrivește cu expresia regulată dată cu înlocuirea.

Sintaxă

 public String replaceAll(String regex, String replacement) 

Această metodă acceptă Două parametri:

    regex:Este expresia regulată la care șirul urmează să fie asociat. Poate fi de diferite tipuri.înlocuire:Șirul care urmează să fie înlocuit pentru meci.

Acesta returnează șir rezultat . Aruncă PatternSyntaxException dacă sintaxa expresiei regulate este invalidă. Metoda de mai sus dă același rezultat ca și expresia:

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

Exemplu de eliminare a caracterelor speciale folosind metoda replaceAll().

manipularea șirurilor de caractere în c++

În exemplul următor, metoda removeAll() elimină toate caracterele speciale din șir și pune un spațiu în locul lor.

 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); } } 

Ieșire

 This string contains special characters 

Exemplu

În exemplul următor, înlocuim toate caracterele speciale cu spațiul.

plutește la sfoară
 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); } } 

Ieșire

 Hello Java Programmer ! 

Exemplu de eliminare a caracterelor speciale folosind logica definită de utilizator

În exemplul următor, definim logica pentru a elimina caracterele speciale dintr-un șir. Știm că valoarea ASCII a alfabetului cu majuscule începe de la 65 la 90 (A-Z), iar valoarea ASCII a alfabetului cu litere mici începe de la 97 la 122 (a-z). Fiecare caracter se compară cu valoarea ASCII corespunzătoare. Dacă ambele condiții specificate returnează true, returnează adevărat, altfel returnează false. The pentru buclă se execută până la lungimea șirului. Când șirul își atinge dimensiunea, se încheie execuția și obținem șirul rezultat.

 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)>