在 Excel 中使用正则表达式进行查找与替换

在 Excel 中,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口

在代码窗口中输入以下代码:

Private Sub RegExp_Replace()

    Dim RegExp As Object
    Dim SearchRange As Range, Cell As Range

    ‘此处定义正则表达式
    Set RegExp = CreateObject("vbscript.regexp")
    RegExp.Pattern = "[0-9]{5}"

    ‘此处指定查找范围
    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, "")
        End If
    Next

End Sub

根据实际需要替换相应参数,点击 运行即可得到效果。

时间: 2024-10-18 10:10:44

在 Excel 中使用正则表达式进行查找与替换的相关文章

在VIM中进行快速的查找和替换

VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f命令可以进行行内搜索.输入fx可以找到下一个x字符. F命令可以在反方向进行行内搜索,输入Fx可以找到上一个x字符. t命令同样是进行行内搜索,但是光标停留在符合条件的字符的前面.输入tx使光标停留在下一个x字符的前面. T命令可以在反方向进行行内搜索,但是光标停留在符合条件的字符的下一个字符上.输

vs 2012/2013 等工具中,使用正则表达式,查找、替换

有这样一个需求,就是一个文本中,需要找出指定格式的字符串进行指定的替换,当前我的真实需求是,一个sql创建触发器的文本,我需要将所有的 包含 TB_SYS 的表名后面添加一个 "_NEW"字符串! 例如:    Creating trigger TRG_TB_SYSFILE  替换后 变成 Creating trigger TRG_TB_SYSFILE_NEW 正则表达式:(TB_SYS[^\.]+\b) 替换表达式:$1_NEW 说明: $0,其中$0表示正则匹配的整个最大字符串值.

在UltraEdit的查找和替换中使用正则表达式 (转)

很多朋友都用过或者正在用UltraEdit,这个编辑器陪伴我也好几年了,从很多地方影响着我写代码的快捷键习惯,Ultraedit提供了非常丰富的编辑功能,其中非常重要的查找和替换功能一定大家都用过,Ultraedit提供的查找替换功能非常方便和强大,可以在单独文件里面查找替换,也可以在多个文件.多个目录里面进行查找替换.而我们在使用这些查找替换功能的时候,一 LiveJournal Tags: UltraEdit,正则表达式 般都是针对某个字符串进行,前两天我要对一个目录下(包含子目录)所有的h

在vs2013中使用正则表达式查找和替换文本内容

我们有的时候需要替换代码中的某些内容,因为替换的内容"不一致",所以不能简单的使用一个replace搞定.这里有几个解决方法,核心思想是一致的,程序员不要做体力活,能交给程序或脚本的就交给程序或脚本来完成. 我先提一个替换的需求,这个在实际工作中是很常见的.比如 把所有的toke[TOKEN_ENUM_ATTACK], token[TOKEN_ENUM_MAGIC]这样的字符串替换为TOKEN_ENUM_ATTACK, TOKEN_ENUM_MAGIC,也就是说去掉token[],直接

shell中的正则表达式, and和or写法, vim中的查找和替换用法

1. shell中的正则和原生的正则有些许出入, 以下列举了shell中的正则规则: 图中\number 代表前面对应()位置的内容, 类似于python中的命名分组, \对应数字可直接引用括号中内容 2. shell中的正则使用举例: 双括号的额外含义, 其内可使用正则表达式, 并不表示正则必须在双括号中才能执行; [[ 10 =~ ^[0-9]+$ ]] 用于shell中判定是否是数字, 注意正则处不要加引号, 加引号表示字符串匹配; 取反在10前加叹号即可; shell中这些命令都是根据正

UltraEdit中使用正则表达式

正则表达式 (UltraEdit Syntax): % 匹配行首 - 表明要搜索的字符串一定在行首. $ 匹配行尾 - 表明要搜索的字符串一定在行尾 ? 匹配除换行符外的任一单个字符. * 匹配任意个数的字符出现任意次数(不包括换行符) + 匹配前导字符或者表达式出现一次或者更多次(不包括换行符) ++ 匹配前导字符或者表达式不出现或者出现一次以上(不包括换行符) ^b 匹配页中断符 ^p 匹配DOS文件的换行符 ^r 匹配MAC文件的换行符(CR Only) ^n 匹配UNIX文件的换行符 (

#转#VS2012 正则表达式 动态插入 动态替换 (查找和替换工具)

http://www.chinabaike.com/t/9642/2014/0623/2539877.html 在用VS做编码开发时,我们常会用到其自带的"查找和替换"这个工具. 关于用正则替换,有一些容易被遗忘的非常有用的功能.比如,正则动态插入并替换. 通常,如果我们要查找源文件中的固定字符"A",并替换成固定字符"B",那么简单,只需分别在查找框输入"A"和替换框输入"B",然后点查找.替换按钮就可以

【python cookbook】【字符串与文本】5.查找和替换文本

问题:对字符串中的文本做查找和替换 解决方案: 1.对于简单模式:str.replace(old, new[, max]) 2.复杂模式:使用re模块中的re.sub(匹配的模式, newstring, oldstring[,替换个数])函数 3.re.subn()可以获得替换的总次数 # example.py # # Examples of simple regular expression substitution import re #simple sample text1='yeah,b

Python实用技法第24篇:正则:查找和替换文本

1.需求 我们想对字符串中的文本做查找和替换. 2.解决方案 对于简单的文本模式,使用str.replace()即可. 例如: text='mark ,帅哥,18,183 帅,mark' print(text.replace('18','19')) print(text) Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎 运行结果: mark ,帅哥,19,193 帅,mark mark ,帅哥,18,183