Tengo una cadena que contiene texto seguido de una línea en blanco. ¿Cuál es la mejor manera de mantener la parte con texto, pero eliminar la nueva línea de espacios en blanco del final?
java
string
line
blank-line
Confiquir
fuente
fuente
Respuestas:
Utilice el
String.trim()
método para eliminar espacios en blanco (espacios, líneas nuevas, etc.) desde el principio y el final de la cadena.fuente
fuente
tl; dr
String::strip…
El viejo
String::trim
método tiene una extraña definición de espacio en blanco .Como se discutió aquí , Java 11 agrega nuevos
strip…
métodos a laString
clase. Estos usan una definición de espacio en blanco más inteligente para Unicode. Consulte las reglas de esta definición en la clase JavaDoc paraCharacter::isWhitespace
.Código de ejemplo
O puede eliminar solo el espacio en blanco inicial o posterior .
No menciona exactamente qué punto (s) de código componen sus líneas nuevas. Me imagino que su nueva línea probablemente esté incluida en esta lista de puntos de código a los que apunta
strip
:fuente
Este código Java hace exactamente lo que se pide en el título de la pregunta, es decir, "eliminar nuevas líneas desde el principio y el final de un string-java":
Elimine las nuevas líneas solo desde el final de la línea:
Elimine las nuevas líneas solo desde el principio de la línea:
fuente
Si su cadena es potencialmente
null
, considere usarStringUtils.trim()
- la versión nula-segura deString.trim()
.fuente
fuente
Voy a agregar una respuesta a esto también porque, aunque tenía la misma pregunta, la respuesta proporcionada no fue suficiente. Después de pensarlo un poco, me di cuenta de que esto se puede hacer muy fácilmente con una expresión regular.
Para eliminar nuevas líneas desde el principio:
y final de una cadena:
Estoy seguro de que esta no es la forma más eficiente de recortar una cadena. Pero parece ser la forma más limpia y sencilla de alinear dicha operación.
Tenga en cuenta que se puede hacer el mismo método para recortar cualquier variación y combinación de caracteres de cualquier extremo, ya que es una expresión regular simple.
fuente
split()
es solo el límite. Déjalo apagado si quieres igualar un número ilimitado de veces.Prueba esto
fuente
Si solo desea eliminar saltos de línea (no espacios, pestañas) al principio y al final de una Cadena (no en el medio), puede usar este enfoque:
Use expresiones regulares para eliminar retornos de carro (
\\r
) y avances de línea (\\n
) desde el principio (^
) y el final ($
) de una cadena:Ejemplo completo:
Produce:
fuente
fuente