Python - Finden Sie Wörter im string
Ich weiß, dass ich eine Wort in einem string mit
if word in my_string:
Aber ich möchte alle zu finden "Wort" in der Zeichenfolge, wie dieses.
counter = 0
while True:
if word in my_string:
counter += 1
Wie kann ich es tun, ohne zu "zählen" das gleiche Wort immer und immer wieder?
- Danke für die vielen Antworten, ich wirklich zu schätzen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, stellen Sie sicher, dass es zählt ein Wort wie
is
nur noch eine inthis is
auch wenn es eineis
imthis
, können Sie sich aufspalten, filtern und zählen:Jedoch, wenn Sie nur wollen, zählen Sie alle vorkommen eines Teilstrings, dh
is
würde auch passen, dieis in this
dann:in anderen Worten,
split
den string bei jedem auftreten des Wortes, dann minus eins zu bekommen, die zählen.Bearbeiten - BENUTZEN Sie EINFACH ZÄHLEN:
Es war ein langer Tag, so dass ich Total vergessen habe, aber
str
hat eine integrierte Methode für diesestr.count(substring)
, die macht das gleiche wie meine zweite Antwort, aber so besser lesbar. Bitte erwägen Sie die Verwendung dieser Methode (und den Blick auf andere Menschen Antworten, wie)String tatsächlich hat bereits die Funktionalität, die Sie suchen. Sie müssen einfach zu bedienen
str.count(item)
zum Beispiel.EDIT: Dieser sucht nach allen vorkommen von Sprach-Zeichenfolge, einschließlich Teile von Wörtern.
Folgenden wird die Suche nur ganze Wörter, nur split die Zeichenfolge, die Sie suchen möchten.
Verwenden Sie die
beg
argument für die.find
Methode.Dies ist ein bisschen eine Allgemeine Lösung. Speziell für das zählen in einem string können Sie einfach
my_string.count(word)
Reguläre Ausdrücke verwenden:
Bewusst sein, dass dies fangen mit anderen Worten, dass die Ihr Wort wie
testing
. Sie könnte sich ändern Sie Ihre regex nur exakt auf Ihr Wort