logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

VBA之正则表达式(45)-- 拆分材料和规格

本文介绍了使用VBA正则表达式拆分材料编码的方法。通过建立正则匹配模式,将A列材料编码拆分为名称(B列)和规格型号(C列)。代码支持多种编码格式处理,包括无空格组合、名称+数字、纯名称以及名称+空格+规格等类型。核心是通过正则表达式提取名称和规格,未匹配时直接填入名称。该方法实现了材料编码的自动化拆分,提高了数据处理效率。

文章图片
#正则表达式
VBA之正则表达式(2)-- 批量修改公式

实例需求:数据保存在F列(公式,判断条件,whatever),需要在每个单元格引用之前添加A列指定的工作表名称+!,结果如H列所示,对于F16中的公式,由于I49已经指定工作表,所以此单元格不需要再处理,核心问题是如何定位单元格引用。示例代码如下。Sub RegExpDemoReplace()Dim Res()Dim objRegEx As ObjectDim ...

VBA之正则表达式(39)-- 提取规格数据(2/2)

实例需求:A列为某产品名称,现需要提取其中的规格数据,具体规则如下:- 规格数据以如下关键字开头:RO、RE、SQ、SD、QD、OB、HX、ET、QR、D2- 规则数据可能有多段(截图中红色部分)- 提取规格数据之后,乘号(即x)替换为星号- R(或者r)之前增加星号- 剔除无意义的0和小数点,如C6和C15所示。

#正则表达式
VBA之正则表达式(9)-- 添加千分位(1/3)

环视的一个经典应用就是添加千分位,在正则表达式中有如下几种环视(断言),对于整数和小数分别创建正则表达式添加千分位。

VBA之正则表达式(45)-- 提取SQL语句中的函数

实例需求:数据工程师或者DBA日常工作中大量使用SQL语句,有些语句(或者存储过程)行数非常多,现在需要提取其中的所有使用了函数的相关部分,对于如下语句,需要提取Mid([编号],2,4) AS [产品]和datediff("D",[购买日期],"2024-01-01") AS [日期]两个字符串。

文章图片
#正则表达式#sql
VBA之正则表达式(35)-- 提取年份

实例需求:提取文字中的4位数字年份(19xx或者20xx),文字中包含其他的数字,例如多余4位的:0749345,非年份数字:H-1803F。示例代码如下。【代码解析】第4行代码创建正则表达式对象。第5行代码设置全局匹配。第6行代码设置匹配模式。第7行代码读取A1单元格的内容。第9行代码判断是否匹配成功。第10~12行代码循环处理匹配结果。第11行代码输出匹配值。通过观察发现年份字符有的在圆括号中

#正则表达式
VBA之正则表达式(34)-- 提取照片规格

实例需求:按照指定规则从A数据提取相应的规格至B和C列,示例数据如下所示。示例代码如下。Sub Demo()Dim regExp As ObjectDim aRes, arrSet regExp = CreateObject("vbscript.regExp")regExp.Global = TrueregExp.Pattern = "([\d\.]+)x(\d+(\.\d+)*)"arr = [

#正则表达式
VBA之正则表达式(27)-- 提取包含关键字的字段

实例需求:待处理字符串如下,需要提取其中包含“电子”的部分,即:电子计算机、微型电子管、新创电子-电脑-电脑硬盘-电子计算机-晶体管-微型电子管-新创电子-示例代码如下。Sub Demo1()Dim strWord As StringDim objRegExp As Object, objMH As ObjectSet objRegExp = CreateObject("VBSCRIPT.REGE

#正则表达式
VBA之正则表达式(28)-- 提取带编号的文本

实例需求:待处理字符串如下,需要提取其中被标记颜色的部分,注意数字序号之后的符号有多种。示例代码如下。Sub Demo()Dim strWord As StringDim objRegExp As Object, objMH As ObjectSet objRegExp = CreateObject("VBSCRIPT.REGEXP")strWord = [a1]With objRegExp.Gl

文章图片
#正则表达式
VBA之正则表达式(25)-- 提取规格

实例需求:待处理字符串如下。>ABC1550R71PF1333K, 33nF,50V; X117R/ 0402处理规则:仅提取其中如下图黄色部分,注意不提取第一个逗号之前的任何4位数字

#正则表达式
    共 30 条
  • 1
  • 2
  • 3
  • 请选择