2012-10-05 11 views
5

¿Cómo elimino el espacio en blanco desde el comienzo de una cadena en Java sin eliminar desde el final?¿Cómo elimino el espacio en blanco desde el comienzo de una cadena?

Si el valor es:

String temp = " hi " 

Entonces, ¿cómo puedo eliminar sólo el espacio en blanco al principio por lo que se ve así:

String temp = "hi " 

La implementación actual que tengo es que recorrer, comprobando el primer carácter y creando una subcadena hasta que se alcanza el primer valor que no sea de espacio en blanco.

Gracias!

Respuesta

7

que puede usar:

temp = temp.replaceFirst("^\\s*", "") 
+1

Esto no funcionará con cadenas que ya no tienen espacios en blanco. Debería ser 'temp.replaceFirst ("^\\ s * "," ");' para que '^' coincida con el comienzo de la cadena. – Brian

+0

El OP también necesitaría asegurarse de que la Cadena comience con caracteres de espacio en blanco. –

+1

El '^' solo es necesario cuando se usa 'String.replaceAll'. Si bien funcionará bien aquí, no es necesario para 'String.replaceFirst' – Reimeus

5

Usted podría utilizar Commons-lang StringUtils stripStart método.

Si pasa nulo, recortará automáticamente los espacios.

StringUtils.stripStart) Método
StringUtils.stripStart(temp, null); 
1

probablemente cerca de la aplicación de las sugeridas Commons-lang (:

public static String trimFront(String input) { 
    if (input == null) return input; 
    for (int i = 0; i < input.length(); i++) { 
     if (!Character.isWhitespace(input.charAt(i))) 
      return input.substring(i); 
    } 
    return ""; 
} 
0

descaradamente copiado de java2s:

text = text.replaceAll("^\\s+", ""); 

... y modificado usando @Reimus 's respuesta:

text = text.replaceFirst("^\\s+", ""); 

No estoy seguro del método más eficiente; fwiw, fui con el original de @Reimus.

Cuestiones relacionadas