妙用string.punctuation

admin2024-04-03  0

>>> import string
>>> dir(string)
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__built
ins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__packag
e__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_u
ppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctua
tion', 'whitespace']
>>> string.ascii_lowercase  #所有的小写字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase  #所有的大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.hexdigits        #所有的十六进制字符
'0123456789abcdefABCDEF'
>>> string.whitespace       #所有的空白字符
' \t\n\r\x0b\x0c'
>>> string.punctuation      #所有的标点字符
'!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~'

常用标点符号 punctuation = ['!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~']

统计一个文件或一个字符串中所有单词出现的次数。由于句子中存在标点符号,直接对字符串切割的话会把单词和标点切割在一起。为了避免这个问题,我们可以先把句子中的标点符号统一替换为空格,然后在split()切割即可搞定。这时候就可以用上string.punctuation

import string    #注意使用前要先将string模块导入
def read_file(txt):  # txt为文件名
    for c in string.punctuation:
        txt = txt.replace(c,' ')
return txt.split
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!