Odpowiedzi:
python 2.x
s = ":dfa:sif:e"
print s[1:]
python 3.x
s = ":dfa:sif:e"
print(s[1:])
oba wydruki
dfa:sif:e
Twój problem wydaje się niejasny. Mówisz, że chcesz usunąć „znak z określonej pozycji”, a następnie mówisz, że chcesz usunąć określony znak.
Jeśli chcesz usunąć tylko pierwszą postać, możesz to zrobić:
s = ":dfa:sif:e"
fixed = s[1:]
Jeśli chcesz usunąć znak na określonej pozycji, wykonaj następujące czynności:
s = ":dfa:sif:e"
fixed = s[0:pos]+s[pos+1:]
Jeśli chcesz usunąć określony znak, powiedz „:”, gdy pierwszy raz napotkasz go w ciągu, wykonaj:
s = ":dfa:sif:e"
fixed = ''.join(s.split(':', 1))
s.replace(":", "", 1)-
W zależności od struktury struny możesz użyć lstrip:
str = str.lstrip(':')
Ale to usunie wszystkie dwukropki na początku, tj. Jeśli tak ::foo, wynik byłby foo. Ale ta funkcja jest pomocna, jeśli masz również ciągi znaków, które nie zaczynają się od dwukropka i nie chcesz wtedy usuwać pierwszego znaku.
usuwanie znaku:
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))
usuwa wszystkie znaki, które są w indeksach; możesz go użyć w swoim przypadku zdel_char(your_string, [0])