VBS脚本统计红楼梦中贾宝玉出现的次数

VBS脚本统计红楼梦中贾宝玉出现的次数

文件:
链接:https://pan.baidu.com/s/1T-XIbIHzMZiIX8IiSMcZdg
提取码:sti6

脚本代码:

Dim fso, ts, s
'  创建Scripting.FileSystemObject对象,用于操作磁盘、文件夹或文本文件
Set  fso = CreateObject("Scripting.FileSystemObject") 
'  打开一个指定的文件并返回一个 TextStream 对象,该对象可用于对文件进行读、写、追加操作,第二个参数表示以只读的形式打开文件
Set ts = fso.OpenTextFile("C:\Users\23820\Desktop\《红楼梦》作者:曹雪芹.txt", 1)
'  读入全部 TextStream 文件,并将文件中的文本内容以字符串的形式返回
s = ts.ReadAll

Dim regex, match, matchs, sum,name_count(10)
'  创建正则表达式
Set regex = New RegExp
'  匹配模式,| 表示匹配左右任意一字符串
regex.Pattern = "贾宝玉|混世魔王|绛洞花王|富贵闲人|无事忙|怡红公子|文妙真人|情哥哥|多情公子|神瑛侍者"
'  设置全局匹配
regex.Global = True
'  执行搜索
Set matchs = regex.Execute(s)
sum = 0
For i = 0  to 10
	name_count(i) = 0
Next
'  遍历匹配集合
For Each match In matchs
	sum = sum + 1
	Select Case match
		Case "贾宝玉"  name_count(0) = name_count(0) +1
		Case "混世魔王" name_count(1) = name_count(1) +1
		Case "绛洞花王" name_count(2) = name_count(2) +1
		Case "富贵闲人" name_count(3) = name_count(3) +1
	    Case "无事忙" name_count(4) = name_count(4) +1
		Case "怡红公子" name_count(5) = name_count(5) +1
		Case "文妙真人" name_count(6) = name_count(6) +1
		Case "情哥哥" name_count(7) = name_count(7) +1
		Case "多情公子" name_count(8) = name_count(8) +1
		Case "神瑛侍者" name_count(9) = name_count(9) +1
	End Select
Next
MsgBox "贾宝玉出现了" & sum & "次。"&vbCrLf&"详细数据如下:"&vbCrLf&"贾宝玉:"&name_count(0)&vbCrLf&"混世魔王:"&name_count(1)&vbCrLf&"绛洞花王:"&name_count(2)&vbCrLf&"富贵闲人:"&name_count(3)&vbCrLf&"无事忙:"&name_count(4)&vbCrLf&"怡红公子:"&name_count(5)&vbCrLf&"文妙真人:"&name_count(6)&vbCrLf&"情哥哥:"&name_count(7)&vbCrLf&"多情公子:"&name_count(8)&vbCrLf&"神瑛侍者:"&name_count(9)

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值