VBA之正则表达式(48)-- 快速拆分中文语句

实例需求:对于任意一段文字,按照中文标点符号拆分为数组,并在立即窗口输出。

例如对于如下内容:

复制代码
本文为博主原创文章,未经博主允许不得转载。访问本人博客123,测试完成

VBE【立即窗口】中输出为:

复制代码
本文为博主原创文章
未经博主允许不得转载
访问本人博客123
测试完成

示例代码如下:

vb 复制代码
Sub Demo()
    Dim objRegExp As Object, strTxt As String, aTxt, i As Long
    Set objRegExp = CreateObject("vbscript.regexp")
    objRegExp.Pattern = "[。?!,、;:「」『』''""()〔〕【】---...--.《》〈〉]"
    objRegExp.Global = True
    objRegExp.IgnoreCase = True
    objRegExp.MultiLine = False
    strTxt = "本文为博主原创文章,未经博主允许不得转载。访问本人博客123,测试完成"
    strTxt = objRegExp.Replace(strTxt, vbTab)
    aTxt = Split(strTxt, vbTab)
    For i = 0 To UBound(aTxt)
        Debug.Print aTxt(i)
    Next
End Sub

【代码解析】

第3行代码创建正则对象。

第4行代码设置匹配模式,此处只是包含了常用的中文标点符合,如果输入文本中使用了更多标点,请自行添加。

第5~7行代码设置正则匹配模式。

第8行代码为测试文本。

第9行代码是正则替换,将中文标点符号替换为Tab,如果输入文本中包含Tab字符,那么也可以使用其他分界符。

第19行代码使用分界符将替换的文档拆分为数组。

第11~13行代码循环遍历数组,并输出到【立即窗口】中。

相关推荐
鹤卿1232 天前
谓词与正则表达式(OC)
ios·正则表达式·objective-c·xcode
饼干哥哥5 天前
10.5% 深层转化、90%+ 新用户,ChatGPT Ads 值得吗?
算法·正则表达式·编程语言
饼干哥哥6 天前
Seedance TK视频「真人感」问题的 9 个解法
正则表达式·代码规范·设计
逝水无殇7 天前
C# 正则表达式详解
开发语言·后端·正则表达式·c#
木木子2211 天前
# 密码强度检测深度解析:正则表达式实时分析、多维度评分算法与可视化反馈
mysql·算法·华为·正则表达式·harmonyos
饼干哥哥12 天前
用Claude Code跑通跨境电商的5大场景,顶10个人的团队
人工智能·设计模式·正则表达式
饼干哥哥13 天前
单篇100万阅读文章,如何用AI 做好内容创作?
人工智能·正则表达式·代码规范
无足鸟ICT14 天前
【RHCA+】扩展正则表达式
linux·正则表达式
csdn_aspnet16 天前
C# 提取、截取或匹配字符串内包含指定字符的一些方法分享
c#·字符串·正则·分割·提取·匹配
无足鸟ICT16 天前
【RHCA+】正则表达式
linux·正则表达式