Rimuovi il primo carattere di una stringa


166

Vorrei rimuovere il primo carattere di una stringa.

Ad esempio, la mia stringa inizia con una :e voglio rimuoverla solo. Esistono diverse occorrenze :nella stringa che non devono essere rimosse.

Sto scrivendo il mio codice in Python.

Risposte:


298

python 2.x

s = ":dfa:sif:e"
print s[1:]

python 3.x

s = ":dfa:sif:e"
print(s[1:])

entrambe le stampe

dfa:sif:e

13
Se questa è la risposta accettata, la domanda avrebbe dovuto essere "come rimuovo il primo carattere di una stringa".
Spaceghost

1
@Spaceghost: l'OP afferma "In particolare voglio rimuovere il primo carattere".
Sven Marnach,

3
Hai ragione, stavo solo rispondendo alla differenza tra il titolo e il corpo della domanda. Col senno di poi, avrei dovuto passare il tempo a prendere un caffè. :-)
Spaceghost

35

Il tuo problema sembra poco chiaro. Dici di voler rimuovere "un personaggio da una certa posizione", poi continua dicendo che vuoi rimuovere un personaggio in particolare.

Se hai solo bisogno di rimuovere il primo personaggio, dovresti:

s = ":dfa:sif:e"
fixed = s[1:]

Se vuoi rimuovere un personaggio in una particolare posizione, dovresti:

s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]

Se è necessario rimuovere un carattere particolare, pronunciare ":", la prima volta che viene rilevato in una stringa, è necessario:

s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))

6
L'ultimo esempio potrebbe essere fatto più facilmente usando s.replace(":", "", 1)-
Sven Marnach il

25

A seconda della struttura della stringa, è possibile utilizzare lstrip:

str = str.lstrip(':')

Ma questo rimuoverebbe tutti i due punti all'inizio, cioè se hai ::foo, il risultato sarebbe foo. Ma questa funzione è utile se hai anche stringhe che non iniziano con i due punti e non vuoi rimuovere il primo carattere.


2

eliminazione di un carattere:

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

cancella tutti i caratteri che si trovano negli indici; puoi usarlo nel tuo caso condel_char(your_string, [0])

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.