Ersetzen Sie das Leerzeichen in Java durch %20
-
Verwenden Sie die Methode
replaceAll()
, um das Leerzeichen in Java durch%20
zu ersetzen -
Verwenden Sie die Klasse
StringBuilder
und erstellen Sie eine neue Zeichenfolge, um das Leerzeichen in Java durch%20
zu ersetzen
In diesem Artikel lernen wir zwei Methoden kennen, um alle Leerzeichen der angegebenen Zeichenfolge durch %20
zu ersetzen.
Verwenden Sie die Methode replaceAll()
, um das Leerzeichen in Java durch %20
zu ersetzen
Hier verwenden wir die eingebaute Java-Methode replaceAll()
, um alle Leerzeichen durch einen %20
-String zu ersetzen.
Im Beispiel haben wir den String erstellt und die Methode replaceAll()
ausgeführt, indem wir diesen String als Referenz genommen haben.
Syntax der Methode replaceAll()
:
string.replaceAll(oldString, newString);
Wie Benutzer in der Syntax der replaceAll()
-Methode sehen können, nimmt sie den String als ersten Parameter, der ersetzt werden muss, und einen neuen String als zweiten Parameter, der den ersten ersetzt.
Beispielcode:
class Test {
public static void main(String[] args) {
// given string
String str = "Hello user!, Welcome to the DelftStack. ";
// replace spaces with %20
str = str.replaceAll(" ", "%20");
System.out.println(str);
}
}
Ausgang:
Hello%20user!,%20Welcome%20to%20the%20DelftStack.%20%20%20
In der obigen Ausgabe können Benutzer sehen, dass replaceAll()
alle Leerzeichen durch %20
ersetzt hat, sogar alle Leerzeichen am Ende des Strings. Wenn Benutzer die Leerzeichen am Ende entfernen möchten, sollten sie die Methode trim()
der String-Bibliothek verwenden.
str = str.trim().replaceAll(" ", "%20");
Ausgang:
Hello%20user!,%20Welcome%20to%20the%20DelftStack.
Jetzt können Benutzer in der obigen Ausgabe beobachten, dass die Methode trim()
die Leerzeichen am Ende entfernt hat, und deshalb hat die Methode replaceAll()
den String %20
nicht am Ende hinzugefügt.
Zeitkomplexität
Die Zeitkomplexität des obigen Beispiels ist O(n)
, wobei n
die Stringlänge darstellt. Die Zeitkomplexität der Methode replaceAll()
ist O(n)
.
Raumkomplexität
Die Leerzeichenkomplexität des oben gezeigten Codes ist O(1)
, da wir keine zusätzlichen Leerzeichen verwenden.
Verwenden Sie die Klasse StringBuilder
und erstellen Sie eine neue Zeichenfolge, um das Leerzeichen in Java durch %20
zu ersetzen
In dieser Methode verwenden wir die Klasse StringBuilder()
, um eine Zeichenfolge mit benutzerdefinierter Länge zu erstellen. Benutzer sollten die folgenden Schritte ausführen, um alle Leerzeichen durch die Zeichenfolge %20
zu ersetzen, indem sie das zusätzliche Leerzeichen verwenden.
-
Erstellen Sie ein Objekt der Klasse
StringBuilder
und initialisieren Sie es mit einem leeren String. Hier haben wir denresultString
erstellt. -
Durchlaufen Sie die angegebene Zeichenfolge mit einer for-Schleife oder einer while-Schleife.
-
Wenn das Zeichen an Position
i
ein Leerzeichen in der angegebenen Zeichenfolge ist, hängen Sie%20
anresultString
an. Andernfalls hängen Sie das gleiche Zeichen anresultString
an. -
Geben Sie den
resultString
zurück oder drucken Sie ihn, sobald die Iteration abgeschlossen ist.
Beispielcode:
class Test {
public static void main(String[] args) {
StringBuilder resultString = new StringBuilder("");
// given string
String str = "Java is One of the best Programming Language.";
// Remove spaces from the end of the string.
str = str.trim();
// iterate through string
for (int i = 0; i < str.length(); i++) {
// if the character at position i is a string, append %20 to string builder. Otherwise, append
// same character,
if (str.charAt(i) == ' ') {
resultString.append("%20");
} else {
resultString.append(str.charAt(i));
}
}
// print the StringBuilder after appending
System.out.println(resultString);
}
}
Ausgang:
Java%20is%20One%20of%20the%20best%20Programming%20Language.
Zeitkomplexität
Der obige Algorithmus hat eine Zeitkomplexität von O(n)
, wobei sich n
auf die Länge der gegebenen Zeichenfolge bezieht, während wir die Zeichenfolge durchlaufen.
Raumkomplexität
Die Raumkomplexität des obigen Algorithmus ist O(n)
, da wir die Klasse StringBuilder()
verwenden, um den neuen String zu erstellen und zu speichern.
Wir haben zwei Methoden kennengelernt, um einen Teilstring oder ein Zeichen in einem gegebenen String durch einen neuen Teilstring zu ersetzen. Im ersten Teil haben wir die eingebaute replaceAll()
-Methode von Java verwendet und im zweiten Teil den benutzerdefinierten Algorithmus erstellt.
Es wird empfohlen, die Methode replaceAll()
zu verwenden, da sie einfach zu verwenden ist und eine einzige Codezeile benötigt.