tabulador sacar quitar los inicio espacios espacio eliminar caracteres blanco java url slash trailing

quitar - sacar espacios en java



Eliminar una barra inclinada de una cadena(cambiada del tipo de url) en JAVA (9)

Quiero eliminar la barra inclinada de una cadena en Java.

Quiero verificar si la cadena termina con una url, y si lo hace, quiero eliminarla.

Esto es lo que tengo:

String s = "http://almaden.ibm.com/"; s= s.replaceAll("/","");

y esto:

String s = "http://almaden.ibm.com/"; length = s.length(); --length; Char buff = s.charAt((length); if(buff == ''/'') { LOGGER.info("ends with trailing slash"); /*how to remove?*/ } else LOGGER.info("Doesnt end with trailing slash");

Pero tampoco funciona.


Como su nombre indica, el método replaceAll reemplaza todas las ocurrencias de la cadena buscada con la cadena de reemplazo. Esto obviamente no es lo que quieres. Podrías haberlo encontrado leyendo el javadoc .

El segundo está más cerca de la verdad. Al leer el javadoc de la clase String, encontrará un método útil llamado subcadena, que extrae una subcadena de una cadena, con dos índices.


Esto debería funcionar mejor:

url.replaceFirst("/*$", "")


Hay dos opciones: usar la coincidencia de patrones (un poco más lento):

s = s.replaceAll("/$", "");

o:

s = s.replaceAll("///z", "");

Y usando una instrucción if (ligeramente más rápida):

if (s.endsWith("/")) { s = s.substring(0, s.length() - 1); }

o (un poco feo):

s = s.substring(0, s.length() - (s.endsWith("/") ? 1 : 0));

Tenga en cuenta que debe usar s = s... , porque las cadenas son inmutables.


La manera más fácil ...

String yourRequiredString = myString.subString(0,myString.lastIndexOf("/"));


Si usted es un usuario de Apache Commons Lang , puede aprovechar el método chomp ubicado en StringUtils.

String s = "http://almaden.ibm.com/";

StringUtils.chomp (s, File.separatorChar + "")


método simple en java

String removeLastSlash(String url) { if(url.endsWith("/")) { return url.substring(0, url.lastIndexOf("/")); } else { return url; } }


una forma más compacta:

String pathExample = "/ test / dir1 / dir2 /";

String trimmedSlash = pathExample.replaceAll ("^ / | / $", "");

regexp ^ / reemplaza al primero, / $ reemplaza al último


url.replaceAll("/$", "") $ coincide con el final de una cadena por lo que reemplaza la barra inclinada final, si existe.


if (null != str && str.length > 0 ) { int endIndex = str.lastIndexOf("/"); if (endIndex != -1) { String newstr = str.subString(0, endIndex); // not forgot to put check if(endIndex != -1) } }