Ein Zeichen, das kein Alphabet oder numerisches Zeichen ist, wird als Sonderzeichen bezeichnet. Wir sollten alle Sonderzeichen aus der Zeichenfolge entfernen, damit wir die Zeichenfolge klar und flüssig lesen können. Sonderzeichen sind nicht lesbar, daher empfiehlt es sich, sie vor dem Lesen zu entfernen.
Java-Methode replaceAll()
Java alles ersetzen() Methode von Zeichenfolge Die Klasse ersetzt jede Teilzeichenfolge dieser Zeichenfolge, die mit dem angegebenen regulären Ausdruck übereinstimmt, durch die Ersetzung.
Syntax
public String replaceAll(String regex, String replacement)
Diese Methode akzeptiert zwei Parameter:
Es gibt die zurück resultierender String . Es wirft PatternSyntaxException wenn die Syntax des regulären Ausdrucks ungültig ist. Die obige Methode liefert das gleiche Ergebnis wie der Ausdruck:
Pattern.compile(regex).matcher(str).replaceAll(repl)
Beispiel für das Entfernen von Sonderzeichen mit der Methode replaceAll()
Im folgenden Beispiel entfernt die Methode „removeAll()“ alle Sonderzeichen aus der Zeichenfolge und fügt an ihrer Stelle ein Leerzeichen ein.
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); } }
Ausgabe
This string contains special characters
Beispiel
Im folgenden Beispiel ersetzen wir alle Sonderzeichen durch Leerzeichen.
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); } }
Ausgabe
Hello Java Programmer !
Beispiel für das Entfernen von Sonderzeichen mithilfe benutzerdefinierter Logik
Im folgenden Beispiel definieren wir Logik zum Entfernen von Sonderzeichen aus einer Zeichenfolge. Wir wissen, dass der ASCII-Wert des Großbuchstabenalphabets zwischen 65 und 90 (A-Z) und der ASCII-Wert des Kleinbuchstabenalphabets zwischen 97 und 122 (a-z) beginnt. Jedes Zeichen wird mit seinem entsprechenden ASCII-Wert verglichen. Wenn beide angegebenen Bedingungen „true“ zurückgeben, wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben. Der for-Schleife Wird bis zur Länge der Zeichenfolge ausgeführt. Wenn die Zeichenfolge ihre Größe erreicht, wird die Ausführung beendet und wir erhalten die resultierende Zeichenfolge.
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)>