2011-02-09 16 views
93

Me gustaría eliminar el primer carácter de una cadena.Eliminar el primer carácter de una cadena

Por ejemplo, mi cadena comienza con : y solo quiero eliminar eso. Hay varias ocurrencias de : en la cadena que no deberían eliminarse.

Estoy escribiendo mi código en Python.

Respuesta

165
s = ":dfa:sif:e" 
print s[1:] 

impresiones

dfa:sif:e 
+12

If th es la respuesta aceptada, entonces la pregunta debería haber sido "cómo elimino el primer carácter de una cadena". – Spaceghost

+1

@Spaceghost: el OP indica "Específicamente, deseo eliminar el primer carácter". –

+3

Tienes razón, solo estaba respondiendo a la diferencia entre el título y el cuerpo de la pregunta ... En retrospectiva, debería haber pasado el tiempo tomando café. :-) – Spaceghost

15

dependiendo de la estructura de la cadena, puede utilizar lstrip:

str = str.lstrip(':') 

Pero esto sería eliminar todos los signos de dos puntos al principio, es decir, si tiene ::foo , el resultado sería foo. Pero esta función es útil si también tiene cadenas que no comienzan con dos puntos y no quiere eliminar el primer carácter.

2

borrar un carácter:

def del_char(string, indexes): 

    'deletes all the indexes from the string and returns the new one' 

    return ''.join((char for idx, char in enumerate(string) if idx not in indexes)) 

borra todos los caracteres que se encuentran en los índices; puede usarlo en su caso con del_char(your_string, [0])

29

Su problema no está claro. Usted dice que quiere eliminar "un personaje de una determinada posición" y luego dice que desea eliminar un personaje en particular.

Si sólo necesita quitar el primer carácter que haría:

s = ":dfa:sif:e" 
fixed = s[1:] 

Si desea eliminar un carácter en una posición particular, puede hacer:

s = ":dfa:sif:e" 
fixed = s[0:pos]+s[pos+1:] 

Si necesita para eliminar un carácter en particular, diga ':', la primera vez que se encuentra en una cadena, entonces lo haría:

s = ":dfa:sif:e" 
fixed = ''.join(s.split(':', 1)) 
+4

El último ejemplo podría ser más fácil usando 's.replace (": "," ", 1)' - –

Cuestiones relacionadas