python学习-统计文本中的单词数量实例详解

1.整体代码

import re
with open('C:/Users/Administrator/Desktop/python之禅.txt','r') as fp:
    string = fp.read()
# re.split()用于多个分割条件,\s:用于分割空格/换行/制表符,\.:以.作分隔符
print(string)
pattern = '-|\*|\'|!'
string = re.sub(pattern,' ',string)
print(string)
list_words = re.split(r'[\s,\.]', string)
count = 0
for word in list_words:
    if word != '':
        print(word)
        count = count + 1
print(count)

2.with open(file_name,mode) as file_name

file_name:想要打开或创建的文件名
       如果文件与当前代码位于同一目录下,则直接写文件名即可
       如果文件与当前代码不在同一目录下,则需要该文件的完整路径
       完整路径的写法有两种:
       -open(r’C:\Users\Administrator\Desktop’)
       -open(‘C:/Users/Administrator/Desktop’)

mode:

mode取值  含义
r只读
rb以二进制模式只读
r+读写,文件指针在开头
rb+以二进制模式读写,文件指针在开头
w只写
wb以二进制模式只写
w+读写,文件指针在开头
wb+以二进制模式读写,文件指针在开头
a追加模式写入
ab以二进制模式追加内容
a+读写,文件指针在末尾
ab+以二进制模式读写,文件指针在末尾

3.re.split(pattern,string[,maxsplit=0,flag=0])

pattern:正则表达式(字符串类型)
string:待匹配的字符串
maxsplit:分割次数,默认为0,即不限次数
flag:用于控制正则表达式的匹配方式,如:是否区分大小写
返回值:列表
单个分割符:

import re
str1 = 'a b c d e f g h \ni,j,k,l,m,n,o,p,q'
#以逗号为分隔符
print(re.split(',',str1))
#输出结果:['a b c d e f g h \ni', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q']
#以任意空白符为分割符
print(re.split('\s',str1))
#输出结果:['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', '', 'i,j,k,l,m,n,o,p,q']

多重分隔符:

#以逗号和任意空白符做多重分割
#方法1
print(re.split('[,\s]',str1))
#输出结果:['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', '', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q']

#方法2
print(re.split(',|\s',str1))
#输出结果:['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', '', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q']

4.re.sub(pattern, repl, string, count=0, flags=0)

pattern:表示正则中的模式字符串
repl:替换字符串,如想把原本的字符串替换成空格,这里就写空格
string:想要进行替换的字符串文本
count:替换次数,可选参数,默认为0,表示替换所有的匹配
flags:可选参数,用于控制正则表达式的匹配方式,如:是否区分大小写
详细实例解析:re.sub实例详解

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值