[英]How to set a word count in a text file
我需要查找文件中的单词数。 长度大于等于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个单词。 由破折号或“-”分隔的四个单词被计为2个单词。 如何去除非字母字符以显示这四个单词?
我不希望您要删除连字符,而只是希望将它们标注为可以构成单词的字符。 您可以使用正则表达式。
re.findall('[\w\-]+', 'words in sentence. some hyphenated-together.')
给
['words', 'in', 'sentence', 'some', 'hyphenated-together']
嘿,你真贴心。
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教程对此功能进行了很好的描述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.