Antworten:
Python 2.x.
s = ":dfa:sif:e"
print s[1:]
Python 3.x.
s = ":dfa:sif:e"
print(s[1:])
beide Drucke
dfa:sif:e
Ihr Problem scheint unklar. Sie sagen, Sie möchten "ein Zeichen von einer bestimmten Position" entfernen, und dann sagen Sie, Sie möchten ein bestimmtes Zeichen entfernen.
Wenn Sie nur das erste Zeichen entfernen müssen, würden Sie Folgendes tun:
s = ":dfa:sif:e"
fixed = s[1:]
Wenn Sie ein Zeichen an einer bestimmten Position entfernen möchten, gehen Sie wie folgt vor:
s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]
Wenn Sie ein bestimmtes Zeichen entfernen müssen, sagen Sie ':', wenn es zum ersten Mal in einer Zeichenfolge vorkommt, würden Sie Folgendes tun:
s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
s.replace(":", "", 1)
-
Abhängig von der Struktur der Zeichenfolge können Sie Folgendes verwenden lstrip
:
str = str.lstrip(':')
Dies würde jedoch alle Doppelpunkte am Anfang entfernen, dh wenn Sie dies getan haben ::foo
, wäre das Ergebnis foo
. Diese Funktion ist jedoch hilfreich, wenn Sie auch Zeichenfolgen haben, die nicht mit einem Doppelpunkt beginnen und dann das erste Zeichen nicht entfernen möchten.
Zeichen löschen:
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))
Es löscht alle Zeichen, die in Indizes enthalten sind. Sie können es in Ihrem Fall mit verwendendel_char(your_string, [0])