Gibt es eine Funktion mit der ich ein bestimmtes zeichnen in einem Textfeld zählen kann. Grund bzw. Beispiel. Ich habe eine Text Datei wo jeder begriff mittels '|' abgetrennt ist. ich benötige zum bearbeiten zb. den 5 ,10 und 16 Begriff, weis aber nicht wie lang diese Begriffe sind. Aus diesem Grund würde ich gerne bis zum 5 '|' zählen wollen und dann alles bis zum nächsten | ausgeben und dann wieder weiter bis zum zehnten '|' .. usw.
Gibt es da eine einfache Möglichkeit oder muss man dies alles selber schreiben.
nach bestimmten Zeichen suchen und zählen
- __blackjack__
- User
- Beiträge: 13004
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Alex_1979: Du hast ja schon ein Thema deswegen eröffnet und da hat snafu eine Funktion zum einlesen der Daten und zerlegen der Zeile in eine Liste gezeigt.
Ansonsten schau Dir einfach mal die Methoden an die es auf Zeichenketten so gibt. Und arbeite ein Tutorial durch. In der Python-Dokumentation ist beispielsweise eines enthalten.
Ansonsten schau Dir einfach mal die Methoden an die es auf Zeichenketten so gibt. Und arbeite ein Tutorial durch. In der Python-Dokumentation ist beispielsweise eines enthalten.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Du suchst keine Funktion, die Elemente zählt!
Dein Problem lässt sich mit Board-Mitteln lösen - arbeite dringend ein Tutorial oder die ersten Kapitel einer Einführung durch, du wirst sonst mit der Sprache selten Freude haben...
Code: Alles auswählen
>>> zeile = "|".join([str(i) for i in range(0,20)])
>>> zeile
'0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19'
>>> elemente = zeile.split("|")
>>> elemente
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19']
>>> print(elemente[5], elemente[10], elemente[16])
5 10 16
Du könntest natürlich mit der .index()-Methode arbeiten und nach einem Treffer den Index für die nächste Suche nach vorne setzen. Das ist aber super-primitiv und fehleranfällig. So arbeitet man in Python nicht und wahrscheinlich auch in keiner anderen Programmiersprache. Man bringt die Daten zunächst in eine geeignete Struktur und arbeitet dann auf dieser Struktur weiter. Denn spätestens, wenn du zum Filtern kommst, fliegt dir dein Ansatz um die Ohren. Ich habe im anderen Thread nun eine ausführlichere und vereinfachte Lösung für das Parsein reingestellt. Setz dich doch zumindest mal mit diesem Ansatz auseinander. Wir programmieren alle nicht erst seit gestern und unsere Empfehlungen haben Gründe...Alex_1979 hat geschrieben: ↑Mittwoch 18. Juli 2018, 09:34 ich benötige zum bearbeiten zb. den 5 ,10 und 16 Begriff, weis aber nicht wie lang diese Begriffe sind. Aus diesem Grund würde ich gerne bis zum 5 '|' zählen wollen und dann alles bis zum nächsten | ausgeben und dann wieder weiter bis zum zehnten '|' .. usw.
Gibt es da eine einfache Möglichkeit oder muss man dies alles selber schreiben.