我想列出出现在文件中的令牌以及这些令牌的计数。我写了下面的代码,但是不能按我的意愿工作。
from collections import Counter
import re
seen = set()
words = re.findall(r'\w+', open('deneme.txt').read().lower())
seen = Counter(words).most_common()
print (seen)
deneme.txt是这样的:
Erke Varol
Antalya Koleji
123 123
Erke
Erke
(asdfsdf)^'
Erke Varol
Antalya
123
Antalya
aç+Noun birak+Verb
aç+Noun ol+Verb
aç+Noun ol+Verb
aç+Noun ol+Verb
结果与我的代码如下:
[('erke', 4), ('aç', 4), ('noun', 4), ('verb', 4), ('antalya', 3), ('123', 3), ('ol', 3), ('varol', 2), ('koleji', 1), ('asdfsdf', 1), ('birak', 1)]
我的问题是我想将aç+ Noun或ol + Verb作为单个令牌获得,但是使用此代码是不可能的,而且我不明白为什么。
答案 0 :(得分:0)
字符类\w
仅包含字母数字字符和下划线,因此如果您想将+
视为单词的一部分,则应将其包括在字符集中:
words = re.findall(r'[\w+]+', open('deneme.txt').read().lower())