Respostas:
python 2.x
s = ":dfa:sif:e"
print s[1:]
python 3.x
s = ":dfa:sif:e"
print(s[1:])
ambas as impressões
dfa:sif:e
Seu problema parece incerto. Você diz que deseja remover "um personagem de uma determinada posição" e depois diz que deseja remover um personagem em particular.
Se você apenas precisar remover o primeiro caractere, faria:
s = ":dfa:sif:e"
fixed = s[1:]
Se você deseja remover um personagem em uma posição específica, faça:
s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]
Se você precisar remover um caractere específico, diga ':', na primeira vez que ele for encontrado em uma string, você faria:
s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
s.replace(":", "", 1)
- #
Dependendo da estrutura da sequência, você pode usar lstrip
:
str = str.lstrip(':')
Mas isso removeria todos os dois pontos no início, ou seja, se você tiver ::foo
, o resultado seria foo
. Mas essa função é útil se você também possui seqüências de caracteres que não começam com dois pontos e não deseja remover o primeiro caractere.
excluindo um caractere:
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))
exclui todos os caracteres que estão nos índices; você pode usá-lo no seu caso comdel_char(your_string, [0])