excel利用正则匹配和替换指定内容

上班中, 突然接到电话, 屋里的上司大人发来个excel, 说要替换里面x-x-xxx列的内容为x栋x单元xxx. 大致表格如下, 原表格我就不发了

身为程序猿的我, 肯定第一就想到了 正则! 打开excel-开始-查找和替换, 我擦, 只能完全匹配和替换 比如一次只能替换1-1- -> 为1栋1单元 1-2- ->为1栋2单元..

虽然说慢了点, 终究是解决了问题!

为了解决问题而解决问题, 这可不是咱的风格, 因为这一个简单的需求实现的太不清爽了, 各种百度也没发现能直接查找和替换的方案, 😅.....简单的方法没找到, 却找到了个vb脚本写法, 记录下, 方便下次使用.

步骤一: 打开excel

步骤二: ALT+F11 打开VB窗口, 写入脚本, 执行

脚本内容:

java 复制代码
Private Sub RegExp_Replace()

    Dim RegExp As Object
    Dim SearchRange As Range, Cell As Range
    
    Set RegExp = CreateObject("vbscript.regexp")
    RegExp.Pattern = "(\d+)-(\d+)-(\d+)"
     
    Set SearchRange = ActiveSheet.Range("A1:A99")
    
    For Each Cell In SearchRange
        Set Matches = RegExp.Execute(Cell.Value)
        If Matches.Count >= 1 Then
            Set Match = Matches(0)
            Cell.Value = RegExp.Replace(Cell.Value, "$1栋$2单元$3")
        End If
    Next

End Sub

虽然实现了, 但还是不太爽!

相关推荐
Cloud_Shy6181 天前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十二章 用户定义函数 中篇)
python·数据分析·excel·pandas
udc小白1 天前
Excel实现LSTM示例
人工智能·深度学习·神经网络·机器学习·excel·lstm
码银1 天前
在若依框架中,使用easyExcel完成动态列导出
java·excel·ruoyi
开开心心就好1 天前
免费无广告的批量卸载与系统清理工具
linux·服务器·网络·智能手机·rabbitmq·excel·memcached
SunnyDays10112 天前
Java 读写 Excel 公式:从基础到高级的实战总结
java·开发语言·excel
Codiggerworld2 天前
Vim配置从0到1:打造专属编辑器
编辑器·vim·excel
E_ICEBLUE2 天前
Python 教程:快速复制 Excel 工作表
python·excel
SunnyDays10112 天前
用Java打造交互式Excel仪表板:切片器的实战应用
java·excel
SunnyDays10112 天前
Java 实现插入和删除 Excel 行和列
java·python·excel
Cloud_Shy6182 天前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(附录 C 高级 Python 概念)
python·数据分析·excel