19 Stimmen

So finden Sie die Anzahl der Wörter in einer Zeichenkette

Ich habe eine Zeichenkette " Hello I am going to I with hello am ". Ich möchte herausfinden, wie oft ein Wort in der Zeichenkette vorkommt. Beispiel: "Hallo" kommt 2 Mal vor. Ich habe diesen Ansatz versucht, der nur Zeichen ausgibt -

def countWord(input_string):
    d = {}
    for word in input_string:
        try:
            d[word] += 1
        except:
            d[word] = 1

    for k in d.keys():
        print "%s: %d" % (k, d[k])
print countWord("Hello I am going to I with Hello am")

Ich möchte lernen, wie man die Wortzahl ermittelt.

2voto

Ashwini Chaudhary Punkte 231447

Unter Berücksichtigung von Hello y hello als gleiche Wörter, unabhängig von ihren Fällen:

>>> from collections import Counter
>>> strs="Hello I am going to I with hello am"
>>> Counter(map(str.lower,strs.split()))
Counter({'i': 2, 'am': 2, 'hello': 2, 'to': 1, 'going': 1, 'with': 1})

2voto

Booharin Punkte 735

Sie können die Zeichenkette in Elemente unterteilen und deren Anzahl berechnen

count = len(my_string.split())

0voto

ode2k Punkte 2575

Sie können die Python-Regex-Bibliothek verwenden re um alle Übereinstimmungen in der Teilzeichenkette zu finden und das Array zurückzugeben.

import re

input_string = "Hello I am going to I with Hello am"

print(len(re.findall('hello', input_string.lower())))

Drucke:

2

0voto

def countSub(pat,string):
    result = 0
    for i in range(len(string)-len(pat)+1):
          for j in range(len(pat)):
              if string[i+j] != pat[j]:
                 break
          else:   
                 result+=1
    return result

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X