2017-05-12 10 views
0

ファイル内の単語の数を調べる必要があります。長さ> = 1で始まり、英数字以外の非英数字が削除された英数字の任意のシーケンスが単語としてカウントされます。テキストファイルの単語数を設定する方法

num_words = 0 

textfile = open('gettysburg.txt', 'r').read() 
words = textfile.split() 
for word in words: 
    if len(word) >= 1: 
    num_words +=1 

print(num_words) 

カウンタは私に268を与えるが、テキスト内の271個の言葉があります。ここでは

は、私がこれまで持っているコードです。ダッシュで区切られた4つの単語または2つの単語としてカウントされている " - "があります。これら4つの単語を表示するには、文字以外の文字を削除するにはどうすればよいですか?

答えて

0

あなたは信じられないほど近いです。

string.split()関数は、デフォルトで空白であるパラメータstrをとります。 文字列を分割する文字を変更することもできます。

num_words = 0 
textfile = open('gettysburg.txt', 'r').read() 
words = textfile.split() 
for word in words: 
    count = len(word.split(str = "-")) 
    num_words += count 
print(num_words) 

Python Tutorialsには、機能についての説明があります。

1

ハイフンを削除したいとは思わないので、単語を作ることができる文字として指定してください。あなたは正規表現を使うかもしれません。

re.findall('[\w\-]+', 'words in sentence. some hyphenated-together.') 

['words', 'in', 'sentence', 'some', 'hyphenated-together'] 
を与える
関連する問題