Usuń pierwszy znak łańcucha


165

Chciałbym usunąć pierwszy znak ciągu.

Na przykład mój ciąg zaczyna się od a :i chcę usunąć tylko to. W :ciągu znaków występuje kilka wystąpień , których nie należy usuwać.

Piszę kod w języku Python.

Odpowiedzi:


297

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

13
Jeśli jest to akceptowana odpowiedź, pytanie powinno brzmieć „jak usunąć pierwszy znak z ciągu”.
Spaceghost

1
@Spaceghost: OP stwierdza: „W szczególności chcę usunąć pierwszy znak”.
Sven Marnach

3
Masz rację, właśnie odpowiadałem na różnicę między tytułem a treścią pytania. Z perspektywy czasu powinienem był poświęcić czas na kawę. :-)
Spaceghost

35

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

6
Ostatni przykład można by łatwiej zrobić używając s.replace(":", "", 1)-
Sven Marnach

25

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.


2

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.