Remova o primeiro caractere de uma sequência


166

Gostaria de remover o primeiro caractere de uma string.

Por exemplo, minha string começa com a :e eu quero removê-la apenas. Existem várias ocorrências :na cadeia que não devem ser removidas.

Estou escrevendo meu código em Python.

Respostas:


298

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

13
Se esta é a resposta aceita, a pergunta deveria ter sido "como removo o primeiro caractere de uma string".
Spaceghost

1
@ Spaceghost: O OP afirma "Especificamente, quero remover o primeiro caractere".
Sven Marnach 9/02

3
Você está certo, eu estava apenas respondendo à diferença entre o título e o corpo da pergunta. Em retrospectiva, deveria ter passado o tempo tomando café. :-)
Spaceghost

35

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

6
O último exemplo pode ser feito com mais facilidade usando s.replace(":", "", 1)- #
Sven Marnach

25

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.


2

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.