Réponses:
python 2.x
s = ":dfa:sif:e"
print s[1:]
python 3.x
s = ":dfa:sif:e"
print(s[1:])
les deux impressions
dfa:sif:e
Votre problème ne semble pas clair. Vous dites que vous voulez supprimer "un personnage d'une certaine position", puis vous dites que vous voulez supprimer un caractère particulier.
Si vous avez seulement besoin de supprimer le premier caractère, vous feriez:
s = ":dfa:sif:e"
fixed = s[1:]
Si vous souhaitez supprimer un caractère à une position particulière, vous devez faire:
s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]
Si vous avez besoin de supprimer un caractère particulier, dites ':', la première fois qu'il est rencontré dans une chaîne, vous feriez:
s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
s.replace(":", "", 1)-
Selon la structure de la chaîne, vous pouvez utiliser lstrip:
str = str.lstrip(':')
Mais cela supprimerait tous les deux points au début, c'est-à-dire que si c'est le cas ::foo, le résultat serait foo. Mais cette fonction est utile si vous avez également des chaînes qui ne commencent pas par deux-points et que vous ne souhaitez pas supprimer le premier caractère.
suppression d'un caractère:
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))
il supprime tous les caractères qui sont dans les index; vous pouvez l'utiliser dans votre cas avecdel_char(your_string, [0])