如何只计算我想要的单词?

时间:2013-09-17 04:15:19

标签: python

我想只计算字典的单词 例如:
有一个文字:
孩子们可以用信用卡再见(支付) 我想要算上刚报酬 但是我的代码很重要(付费)。

import re, sys
d = {}
m = "children can bye (paid) by credit card."
n = m.split()
for i in n:
            d[i] = 0
    for j in n:
            d[j] = d[j] + 1

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式拆分字符串,以便按非字符字符分组:

import re
n = re.split('\W+', m)

您可以检查语法here

答案 1 :(得分:1)

您只需要从各个令牌中删除标点符号。假设您要删除 all 标点符号,请查看string模块。然后(例如),您可以浏览每个标记并删除标点符号。你可以用一个列表理解来做到这一点:

words = [''.join(ch for ch in token if ch not in string.punctuation) 
         for token in m.split()]

所有这些代码都通过每个标记中的每个字符(ch)运行(m.split()的结果)。它允许除了它之外的所有字符将删除string.punctuation中的任何字符。当然,如果你想要一组不同的字符(比方说,也许你想允许撇号),你可以只定义那组字符并使用它。