Reemplazar espacio con% 20 en Java
-
Use el método
replaceAll()
para reemplazar el espacio con%20
en Java -
Use la clase
StringBuilder
y cree una nueva cadena para reemplazar el espacio con%20
en Java
En este artículo, aprenderemos dos métodos para reemplazar todos los espacios de la cadena dada con %20
.
Use el método replaceAll()
para reemplazar el espacio con %20
en Java
Aquí, usamos replaceAll()
, un método integrado de Java, para reemplazar todos los espacios con una cadena %20
.
En el ejemplo, creamos la cadena y ejecutamos el método replaceAll()
tomando esa cadena como referencia.
Sintaxis del método replaceAll()
:
string.replaceAll(oldString, newString);
Como los usuarios pueden ver en la sintaxis del método replaceAll()
, toma la cadena como primer parámetro que necesita ser reemplazado y una nueva cadena como segundo parámetro que reemplazará al primero.
Código de ejemplo:
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);
}
}
Producción :
Hello%20user!,%20Welcome%20to%20the%20DelftStack.%20%20%20
En el resultado anterior, los usuarios pueden ver que replaceAll()
ha reemplazado todos los espacios con %20
, incluso todos los espacios al final de la cadena. Si los usuarios quieren eliminar los espacios del final, deben usar el método trim()
de la biblioteca String.
str = str.trim().replaceAll(" ", "%20");
Producción :
Hello%20user!,%20Welcome%20to%20the%20DelftStack.
Ahora, los usuarios pueden observar en el resultado anterior que el método trim()
ha eliminado los espacios del final, y es por eso que el método replaceAll()
no ha agregado la cadena %20
al final.
Complejidad del tiempo
La complejidad temporal del ejemplo anterior es O(n)
, donde n
representa la longitud de la cadena. La complejidad temporal del método replaceAll()
es O(n)
.
Complejidad espacial
La complejidad del espacio del código que se muestra arriba es O(1)
, ya que no estamos usando espacios adicionales.
Use la clase StringBuilder
y cree una nueva cadena para reemplazar el espacio con %20
en Java
En este método, usaremos la clase StringBuilder()
para crear una cadena de longitud personalizada. Los usuarios deben seguir los pasos a continuación para reemplazar todos los espacios con la cadena %20
utilizando el espacio adicional.
-
Cree un objeto de la clase
StringBuilder
e inicialícelo con una cadena vacía. Aquí, hemos creado elresultString
. -
Iterar a través de la cadena dada usando un bucle for o un bucle while.
-
Si el carácter en la posición
i
es un espacio en la cadena dada, agregue%20
aresultString
. De lo contrario, agregue el mismo carácter aresultString
. -
Devuelve o imprime el
resultString
una vez que se completa la iteración.
Código de ejemplo:
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);
}
}
Producción :
Java%20is%20One%20of%20the%20best%20Programming%20Language.
Complejidad del tiempo
El algoritmo anterior tiene una complejidad de tiempo O(n)
, donde n
se refiere a la longitud de la cadena dada a medida que iteramos a través de la cadena.
Complejidad espacial
La complejidad espacial del algoritmo anterior es O(n)
, ya que usamos la clase StringBuilder()
para crear y almacenar la nueva cadena.
Hemos aprendido dos métodos para reemplazar una subcadena o carácter en una cadena determinada con una nueva subcadena. En la primera parte, usamos el método incorporado replaceAll()
de Java y creamos el algoritmo personalizado en la segunda parte.
Se recomienda usar el método replaceAll()
ya que es fácil de usar y una sola línea de código.