2012-05-18 24 views
11

Si tengo una cadena y quiero eliminar los últimos 4 caracteres, ¿cómo puedo hacer eso?¿Cómo elimino los últimos n caracteres de una cadena?

Así que si quiero quitar .bmp de Forest.bmp para que sea justo Forest ¿Cómo hacer eso? Gracias.

+2

¿Está tratando de eliminar los últimos cuatro caracteres o está tratando de eliminar las extensiones? – sarnold

+3

Si se trata de extensiones de archivos, debe usar 'os.path.splitext' en lugar de eliminar los últimos 4 caracteres. – jamylak

+0

Estoy tratando de eliminar solo los últimos 4 caracteres o la extensión del archivo, ya sea uno. – user1319219

Respuesta

35

Dos soluciones aquí.

para eliminar los últimos 4 caracteres en general:

s = 'this is a string1234' 

s = s[:-4] 

produce

'this is a string' 

Y más específicamente dirigido a los nombres de archivo, considere os.path.splitext() significaba para dividir un nombre de archivo en su base y extensión:

import os 

s = "Forest.bmp" 
base, ext = os.path.splitext(s) 

resultados en:

print base 
'Forest' 

print ext 
'.bmp' 
+0

Acabo de copiar eso en mi shell Python, y me da: – user1319219

+1

Es posible que haya perdido el "sistema operativo importado" implícito, pero lo han editado para agregarlo, lo que está arriba funciona en este momento. –

+0

@ user1319219 Sí, asegúrese de tener 'import os' .. hágamelo saber si eso no funciona. Mis respuestas se copian directamente del intérprete de comandos, así que debería estar bien. – Levon

Cuestiones relacionadas