logo

Erikoismerkkien poistaminen merkkijonosta Javassa

Merkkiä, joka ei ole aakkosto tai numeerinen merkki, kutsutaan erikoismerkiksi. Meidän tulee poistaa kaikki erikoismerkit merkkijonosta, jotta voimme lukea merkkijonon selkeästi ja sujuvasti. Erikoismerkit eivät ole luettavissa, joten ne olisi hyvä poistaa ennen lukemista.

Java korvaaAll() -menetelmä

Java korvaa kaikki() menetelmä merkkijono class korvaa tämän merkkijonon jokaisen alimerkkijonon, joka vastaa annettua säännöllistä lauseketta, korvauksella.

Syntaksi

 public String replaceAll(String regex, String replacement) 

Tämä menetelmä hyväksyy kaksi parametrit:

aakkoset numeroissa
    säännöllinen lauseke:Se on säännöllinen lauseke, johon merkkijono sovitetaan. Se voi olla erityyppistä.korvaus:Ottelussa korvattava merkkijono.

Se palauttaa tuloksena oleva merkkijono . Se heittää Pattern SyntaxException jos säännöllisen lausekkeen syntaksi on virheellinen. Yllä oleva menetelmä antaa saman tuloksen kuin lauseke:

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

Esimerkki erikoismerkkien poistamisesta korvaaAll()-menetelmällä

Seuraavassa esimerkissä removeAll()-menetelmä poistaa kaikki erikoismerkit merkkijonosta ja asettaa niiden tilalle välilyönnin.

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

Lähtö

 This string contains special characters 

Esimerkki

Seuraavassa esimerkissä korvaamme kaikki erikoismerkit välilyönnillä.

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

Lähtö

 Hello Java Programmer ! 

Esimerkki erikoismerkkien poistamisesta käyttäjän määrittämän logiikan avulla

Seuraavassa esimerkissä määrittelemme logiikan erikoismerkkien poistamiseksi merkkijonosta. Tiedämme, että isojen kirjainten ASCII-arvo alkaa 65:stä 90:een (A-Z) ja pienten aakkosten ASCII-arvo alkaa 97:stä 122:een (a-z). Jokaista merkkiä verrataan vastaavaan ASCII-arvoon. Jos molemmat määritetyt ehdot palauttavat tosi, palauttavat tosi muuten epätosi. The silmukalle suoritetaan merkkijonon pituuteen asti. Kun merkkijono saavuttaa kokonsa, se lopettaa suorituksen ja saamme tuloksena olevan merkkijonon.

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