logo

Kako ukloniti posebne znakove iz niza u Javi

Znak koji nije abecedni ili numerički znak naziva se posebnim znakom. Trebali bismo ukloniti sve posebne znakove iz niza kako bismo mogli jasno i tečno čitati niz. Posebni znakovi nisu čitljivi, pa bi ih bilo dobro ukloniti prije čitanja.

Java replaceAll() metoda

Java zamjeni sve() metoda od Niz klasa zamjenjuje svaki podniz ovog niza koji odgovara zadanom regularnom izrazu zamjenom.

Sintaksa

 public String replaceAll(String regex, String replacement) 

Ova metoda prihvaća dva parametri:

    regularni izraz:To je regularni izraz s kojim se niz treba podudarati. Može biti različitih vrsta.zamjena:Niz koji treba zamijeniti za podudaranje.

To vraća rezultantni niz . Baca se PatternSyntaxException ako je sintaksa regularnog izraza nevažeća. Gornja metoda daje isti rezultat kao izraz:

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

Primjer uklanjanja posebnih znakova metodom replaceAll().

U sljedećem primjeru, metoda removeAll() uklanja sve posebne znakove iz niza i stavlja razmak umjesto njih.

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

Izlaz

 This string contains special characters 

Primjer

'što je 10 od 100'

U sljedećem primjeru zamjenjujemo sve posebne znakove razmakom.

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

Izlaz

 Hello Java Programmer ! 

Primjer uklanjanja posebnih znakova korištenjem korisnički definirane logike

U sljedećem primjeru definiramo logiku uklanjanja posebnih znakova iz niza. Znamo da ASCII vrijednost velikih slova počinje od 65 do 90 (A-Z), a ASCII vrijednost malih slova počinje od 97 do 122 (a-z). Svaki znak usporedite s odgovarajućom ASCII vrijednošću. Ako oba navedena uvjeta vrate true, on vraća true inače vraća false. The za petlju izvršava do duljine niza. Kada string dosegne svoju veličinu, prekida izvođenje i dobivamo rezultantni 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)>