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:
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='Pr!ogr#am%m*in&g Lan?#guag(e'; String resultStr=''; //loop execute till the length of the string for (int i=0;i64 && 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)>
=122)>