全民一起VBA提高篇 第二十八回 任凭字符串千变万化,难逃正则式一定之规
相关知识点
正则表达式:字符串或文本结构的表达式。
练习网站:deerchao.net 或搜索正则表达式30分钟教程
重复结构:
同一内容连续出现n次(n>=0)
+ 是元字符,前面的内容连续出现1次或更多次,只负责+前面的一个内容
*前面内容出现任意次,包含0次
?前面内容出现0次或者1次
{n} 前面正好出现n次
{n,m} 前面出现n到m次之间
指代特定内容的元字符:
\d 数字字符 例如电话号码:\d{3}-\d{8}
\D 非数字字符
\w 文字(包括数字或下划线)字符
\W 非文字字符
\s 空白字符(空格、换行等)
\S 非空白字符
例1 找电话号码格式:021-12345678
旧程序查找
Sub masktelnum()
Dim s as string, i as long, k as string
‘取出word文档中第一段全部文字保存为s
S=activeDocument.Parafraphs(1).range.text
i=1
Do While i<=len(s)
K=mid(s,i,12) ‘从该位置向后取12个字符,组成k子串
‘如果该子串符合电话号码格式特征,则将母串s在该处拆分
‘然后插入XXXX,从而实现替换功能
If IsNumeric(left(k,3)) and Mid(k,4,1)=”-” and IsNumeric(right(k,8)) Then
S=left(s,i+7)&”XXXX”&Mid(s,i+12)
i=i+12
Else
i=i-1
End If
Loop
ActiveDocument.Paragraphs(1).range.text=s
End Sub
正则表达式程序3’42”
Sub masktelnum_Regx()
Dim s as string, i as long, k as string regx as object
‘取出word文档中第一段全部文字保存为s
S=activeDocument.Parafraphs(1).range.text
‘创建正则表达式对象,设置表达式并执行替换操作
Set regx=createobject(“vbscript.regexp”)
Regx.pattern=”(\d{3}-\d{4})\d{4}”
S=regx.rep;ace(s,”S1xxx”)
ActiveDocument.Paragraphs(1).range.text=s
End Sub
全民一起VBA提高篇 第二十八回 任凭字符串千变万化,难逃正则式一定之规相关推荐
- 全民一起VBA提高篇第十课:字典对象
字典 题目要求 将课程名称以及挂科人数进行汇总 给出的数据是几十个班混在一起,挂科人数是每个班的人数,现在需要把他们相同的科目统计一个总人数 只看这个要求,其实用数据透视表可以很快得出结果,但是任何E ...
- 学习日志 全民一起VBA提高篇 第四回 日期类型穿梭岁月 时间函数算尽光阴
学习日志 全民一起VBA提高篇 第四回 日期类型穿梭岁月 时间函数算尽光阴 相关知识点 一.获取当前系统时间1. date() 或date 可获得日期 如 2019/2/12. time() 或tim ...
- EXTJS学习系列提高篇:第二十五篇(转载)作者殷良胜,ext2.2打造全新功能grid系列--右键菜单篇...
本文介绍如何在grid列表里 在某行上面单击右键弹出菜单的功能 先看看效果图: 如上图所示,具体菜单的功能没有去实现,这里和前几篇的后台都极为类似,有需要后台代码的朋友只需要浏览前几篇即可. 下面仅仅 ...
- [你必须知道的.NET]第二十八回:说说Name这回事儿
1 缘起 老赵在谈表达式树的缓存(2):由表达式树生成字符串中提到,在描述Type信息时讨论FullName或者AssemblyQualifiedName提供完整的Type信息,虽是小话题,但却是值得 ...
- 全民一起VBA实战篇 专题3 第一回 格式化规定各人迥异,Format函数一招摆平
相关知识点: Format(原始内容,期望格式,每周起始日,每年起始周)将原始内容(数字.日期.文本等)转换成 指定格式的字符串并返回.除了第一个参数(原始内容)外,其他参数均为可选. ...
- 全民一起玩Python提高篇第十四课:函数式编程初步(上)
函数与数字.字符串.列表等一样,本质上都是某种存放在内存中的数据类型,都可以用一个名字(变量名.函数名 -- )指向它 一个函数与一个数字.字符串等一样,都可以赋值给一个变量.比如,如果 f 是一个函 ...
- 深度学习理论篇之 ( 十八) -- 注意力机制之SENet
科普知识 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)是机器视觉领域最受追捧也是最具权威的学术竞赛之一,代表了图像领域的最高水平. ...
- 左耳听风 第二十八周
左耳听风 第二十八周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...
- NeHe OpenGL第二十八课:贝塞尔曲面
NeHe OpenGL第二十八课:贝塞尔曲面 贝塞尔曲面: 这是一课关于数学运算的,没有别的内容了.来,有信心就看看它吧. 贝塞尔曲面 作者: David Nikdel ( ogapo@ithink. ...
最新文章
- 跟随美国博导12年,我学到最深刻的不是科研,而是……
- h5做的app和原生app的区别
- ViewFlipper的功能和用法
- R语言之MYSQL数据库获取及输出
- 子类能不能继承父类的构造方法?
- 前端面试常见逻辑题收集及分析
- 玩转oracle 11g(31):ora-04031
- STM32F103定时器输出频率测试
- 让 AI 训练 AI:揭秘阿里、浙大的 AI 训练师助手
- PHP——下载图片到本地代码
- 如何在linux下观看需vodplayer播放的电影
- python实战:基于链家网二手房数据解析任务
- Python多维数组,已知多科成绩求英语成绩最高的学生名
- PMP考纲改版又又又延期了
- 43.自动获取汉子笔画
- 用PyMOL展示配体和受体相互作用的原子和氢键
- WPF 海康威视网络摄像头回调方式实现断连提示,降低时延
- 此身谁料,心在天山,身老沧洲
- 文献解析:生存数据和分类结局列线图的做法,史上最全
- (C语言)简单的绝对值排序