de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 Lazer
Lazer
Question

Jak usunąć znak z łańcucha za pomocą Pythona

Jest tam ciąg znaków, na przykład. EXAMPLE.

Jak mogę usunąć z niego środkowy znak, czyli M? Nie potrzebuję kodu. Chcę wiedzieć:

  • Czy ciągi w Pythonie kończą się jakimiś specjalnymi znakami?
  • Który sposób jest lepszy - przesunięcie wszystkiego z prawej strony na lewą, zaczynając od środkowego znaku, czy utworzenie nowego łańcucha i nie kopiowanie środkowego znaku?
414 2010-08-24T18:06:31+00:00 3
Peter Mortensen
Peter Mortensen
Edytowane pytanie 29. maja 2018 в 9:42
Programowanie
python
string
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
Ned Batchelder
Ned Batchelder
24. sierpnia 2010 в 6:11
2010-08-24T18:11:46+00:00
Więcej
Źródło
Edytuj
#10934519

W Pythonie ciągi są niezmienne, więc musisz utworzyć nowy ciąg. Masz kilka opcji, jak utworzyć nowy ciąg. Jeśli chcesz usunąć 'M' gdziekolwiek się pojawi:

newstr = oldstr.replace("M", "")

Jeśli chcesz usunąć centralny znak:

midlen = len(oldstr)/2   # //2 in python 3
newstr = oldstr[:midlen] + oldstr[midlen+1:]

Zapytałeś, czy ciągi kończą się znakiem specjalnym. Nie, myślisz jak programista C. W Pythonie łańcuchy są przechowywane z ich długością, więc w łańcuchu może pojawić się dowolna wartość bajtowa, w tym 0.

Alec Alameddine
Alec Alameddine
Edytowana odpowiedź 23. kwietnia 2019 в 9:59
587
0
 recursive
recursive
24. sierpnia 2010 в 6:09
2010-08-24T18:09:21+00:00
Więcej
Źródło
Edytuj
#10934517

To jest chyba najlepszy sposób:

original = "EXAMPLE"
removed = original.replace("M", "")

Don't worry about shifting characters and such. Większość kodu Pythona odbywa się na znacznie wyższym poziomie abstrakcji.

Peter Mortensen
Peter Mortensen
Edytowana odpowiedź 29. maja 2018 в 9:44
64
0
Eton B.
Eton B.
24. sierpnia 2010 в 6:10
2010-08-24T18:10:59+00:00
Więcej
Źródło
Edytuj
#10934518

Aby zastąpić określoną pozycję:

s = s[:pos] + s[(pos+1):]

Aby zastąpić określony znak:

s = s.replace('M','')
58
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Zuxriddin Muydinov
Zarejestrowany 11 godzin temu
2
Денис Анненский
Zarejestrowany 2 dni temu
3
365
Zarejestrowany 1 tydzień temu
4
True Image
Zarejestrowany 1 tydzień temu
5
archana agarwal
Zarejestrowany 1 tydzień temu
BG
DA
DE
EL
ES
FR
HU
ID
IT
JA
KO
NL
PL
PT
RU
SL
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem