¿Cómo puedo eliminar una nueva línea final?
Resuelto
asked hace 16 años
•
0 respuestas
¿Cómo puedo eliminar el último carácter de una cadena si es una nueva línea?
"abc\n" --> "abc"
Aceptado
Pruebe el método rstrip()
(consulte los documentos Python 2 y Python 3 )
>>> 'test string\n'.rstrip()
'test string'
El método de Python rstrip()
elimina todo tipo de espacios en blanco finales de forma predeterminada, no solo una nueva línea como lo hace Perl con chomp
.
>>> 'test string \n \r\n\n\r \n\n'.rstrip()
'test string'
Para eliminar sólo nuevas líneas:
>>> 'test string \n \r\n\n\r \n\n'.rstrip('\n')
'test string \n \r\n\n\r '
Además de rstrip()
, también existen los métodos strip()
y lstrip()
. Aquí hay un ejemplo con los tres:
>>> s = " \n\r\n \n abc def \n\r\n \n "
>>> s.strip()
'abc def'
>>> s.lstrip()
'abc def \n\r\n \n '
>>> s.rstrip()
' \n\r\n \n abc def'
Y yo diría que la forma "pitónica" de obtener líneas sin caracteres de nueva línea es dividir líneas().
>>> text = "line 1\nline 2\r\nline 3\nline 4"
>>> text.splitlines()
['line 1', 'line 2', 'line 3', 'line 4']