Eliminar el primer carácter de una cadena

166

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

Por ejemplo, mi cadena comienza con :ay solo quiero eliminar eso. Hay varias ocurrencias de :en la cadena que no deben eliminarse.

Estoy escribiendo mi código en Python.

Hossein
fuente

Respuestas:

298

python 2.x

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

python 3.x

s = ":dfa:sif:e"
print(s[1:])

ambas impresiones

dfa:sif:e
Sven Marnach
fuente
13
Si esta es la respuesta aceptada, la pregunta debería haber sido "¿cómo elimino el primer carácter de una cadena?".
Spaceghost
1
@Spaceghost: El OP dice "Específicamente quiero eliminar el primer carácter".
Sven Marnach
3
Tienes razón, 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
35

Tu problema parece poco claro. Dice que desea eliminar "un personaje de una determinada posición" y luego dice que desea eliminar un personaje en particular.

Si solo necesita eliminar el primer carácter que haría:

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

Si desea eliminar un personaje en una posición particular, haría:

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

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

s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
Spaceghost
fuente
66
El último ejemplo podría hacerse más fácilmente usando s.replace(":", "", 1)-
Sven Marnach
25

Dependiendo de la estructura de la cadena, puede usar lstrip:

str = str.lstrip(':')

Pero esto eliminaría todos los 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 desea eliminar el primer carácter.

Felix Kling
fuente
2

eliminar un char:

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))

elimina todos los caracteres que están en los índices; puedes usarlo en tu caso condel_char(your_string, [0])

Hormiga
fuente