logo

Hogyan lehet eltávolítani a speciális karaktereket a karakterláncból a Java nyelven

Az olyan karaktert, amely nem ábécé vagy numerikus karakter, speciális karakternek nevezzük. Minden speciális karaktert el kell távolítanunk a karakterláncból, hogy tisztán és folyékonyan tudjuk olvasni a karakterláncot. A speciális karakterek nem olvashatók, ezért olvasás előtt jó lenne eltávolítani őket.

Java helyettesítőAll() metódus

Jáva cserélje ki az összeset () a metódusa Húr osztály lecseréli ennek a karakterláncnak az adott reguláris kifejezésnek megfelelő részkarakterláncait a cserével.

Szintaxis

 public String replaceAll(String regex, String replacement) 

Ez a módszer elfogadja kettő paraméterek:

    szabályos kifejezés:Ez az a reguláris kifejezés, amelyhez a karakterláncot egyeztetni kell. Különböző típusú lehet.csere:A mérkőzésen helyettesítendő karakterlánc.

Visszaadja a eredő String . Ez dob PatternSyntaxException ha a reguláris kifejezés szintaxisa érvénytelen. A fenti módszer ugyanazt az eredményt adja, mint a kifejezés:

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

Példa speciális karakterek eltávolítására a changeAll() metódussal

A következő példában a removeAll() metódus eltávolítja az összes speciális karaktert a karakterláncból, és szóközt tesz a helyükre.

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

Kimenet

 This string contains special characters 

Példa

A következő példában az összes speciális karaktert szóközre cseréljük.

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

Kimenet

 Hello Java Programmer ! 

Példa speciális karakterek eltávolítására a felhasználó által definiált logika használatával

A következő példában logikát határozunk meg a speciális karakterek karakterláncból való eltávolítására. Tudjuk, hogy a nagybetűs ábécé ASCII-értéke 65-től 90-ig (A-Z), a kisbetűs ábécé ASCII-értéke 97-től 122-ig (a-z) kezdődik. Minden karakter összehasonlítható a megfelelő ASCII-értékkel. Ha mindkét megadott feltétel igazat ad vissza, akkor igazat ad vissza, különben hamis értéket ad vissza. A hurokhoz a karakterlánc hosszáig hajtja végre. Amikor a karakterlánc eléri méretét, leállítja a végrehajtást, és megkapjuk az eredményül kapott karakterláncot.

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