logo

Kako odstraniti posebne znake iz niza v Javi

Znak, ki ni črka ali številka, se imenuje poseben znak. Iz niza moramo odstraniti vse posebne znake, da bomo lahko niz jasno in tekoče prebrali. Posebni znaki niso berljivi, zato jih je pred branjem dobro odstraniti.

Metoda Java replaceAll().

Java zamenjajVse() metoda Vrvica razred zamenja vsak podniz tega niza, ki se ujema z danim regularnim izrazom, z zamenjavo.

Sintaksa

 public String replaceAll(String regex, String replacement) 

Ta metoda sprejema dva parametri:

    regularni izraz:To je regularni izraz, s katerim naj se niz ujema. Lahko je različnih vrst.zamenjava:Niz, ki bo zamenjan za ujemanje.

Vrne rezultantni niz . Vrže PatternSyntaxException če sintaksa regularnega izraza ni veljavna. Zgornja metoda daje enak rezultat kot izraz:

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

Primer odstranjevanja posebnih znakov z metodo replaceAll().

V naslednjem primeru metoda removeAll() odstrani vse posebne znake iz niza in namesto njih postavi presledek.

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

Izhod

podčrtaj v oznaki
 This string contains special characters 

Primer

V naslednjem primeru zamenjamo vse posebne znake s presledkom.

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

Izhod

 Hello Java Programmer ! 

Primer odstranjevanja posebnih znakov z uporabo uporabniško določene logike

V naslednjem primeru definiramo logiko za odstranjevanje posebnih znakov iz niza. Vemo, da se vrednost ASCII velikih črk začne od 65 do 90 (A-Z), vrednost ASCII malih črk pa se začne od 97 do 122 (a-z). Vsak znak primerjajte z ustrezno vrednostjo ASCII. Če oba navedena pogoja vrneta true, vrne true, sicer vrne false. The za zanko izvaja do dolžine niza. Ko niz doseže svojo velikost, prekine izvajanje in dobimo nastali niz.

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