Risposte:
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
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))
s.replace(":", "", 1)
-
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.
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])