Je voudrais supprimer le premier caractère d'une chaîne.
Par exemple, ma chaîne commence par un :
et je ne souhaite l'enlever que. Il existe plusieurs occurrences de :
dans la chaîne qui ne doivent pas être supprimées.
J'écris mon code en Python.
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 souhaitez supprimer "un personnage d'une certaine position", puis vous indiquez que vous souhaitez supprimer un caractère particulier.
Si vous ne devez supprimer que le premier caractère, procédez comme suit:
s = ":dfa:sif:e"
fixed = s[1:]
Si vous souhaitez supprimer un personnage à une position particulière, procédez comme suit:
s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]
Si vous devez supprimer un caractère particulier, dites ':', la première fois qu'il est rencontré dans une chaîne, vous feriez alors:
s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
En fonction de 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 vous avez ::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 à ce moment-là.
supprimer 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 présents dans les index; vous pouvez l'utiliser dans votre cas avec del_char(your_string, [0])