Me gustaría eliminar el primer carácter de una cadena.
Por ejemplo, mi cadena comienza con un :
y quiero eliminar eso solamente. Hay varias ocurrencias de :
en la cadena que no debe eliminarse.
Estoy escribiendo mi código en Python.
Hossein
Me gustaría eliminar el primer carácter de una cadena.
Por ejemplo, mi cadena comienza con un :
y quiero eliminar eso solamente. Hay varias ocurrencias de :
en la cadena que no debe eliminarse.
Estoy escribiendo mi código en Python.
Sven Marnach
pitón 2.x
s = ":dfa:sif:e"
print s[1:]
pitón 3.x
s = ":dfa:sif:e"
print(s[1:])
ambas impresiones
dfa:sif:e
Si esta es la respuesta aceptada, entonces la pregunta debería haber sido “¿cómo elimino el primer carácter de una cadena?”.
– Fantasma espacial
9 de febrero de 2011 a las 14:25
@Spaceghost: el OP dice “Específicamente, quiero eliminar el primer carácter”.
– Sven Marnach
9 de febrero de 2011 a las 14:27
Tienes razón, solo estaba respondiendo a la diferencia entre el título y el cuerpo de la pregunta. En retrospectiva, debería haber dedicado el tiempo a tomar café. 🙂
– Fantasma espacial
9 de febrero de 2011 a las 14:36
Fantasma espacial
Su problema parece poco claro. Dices que quieres eliminar “un personaje de cierta posición” y luego dices que quieres eliminar un personaje en particular.
Si solo necesita eliminar el primer carácter, haría lo siguiente:
s = ":dfa:sif:e"
fixed = s[1:]
Si desea eliminar un carácter en una posición particular, haría lo siguiente:
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 encuentre en una cadena, entonces haría:
s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
El último ejemplo podría hacerse más fácilmente usando s.replace(":", "", 1)
–
– Sven Marnach
9 de febrero de 2011 a las 14:12
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 seria 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 en ese momento.
Solo haz esto:
r = "hello"
r = r[1:]
print(r) # ello
borrando un caracter:
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 están en los índices; puedes usarlo en tu caso con del_char(your_string, [0])