在 ms access 2010 中使用正则表达式替换列

Posted

技术标签:

【中文标题】在 ms access 2010 中使用正则表达式替换列【英文标题】:replace a column using regex in ms access 2010 【发布时间】:2012-08-30 01:39:03 【问题描述】:

ms access 2010中有一个名为sample的表,只包含一列body(类型:文本):

<name>John</name><age>12</age>

我想删除括号内的每个字符串。看到这个:

John12

我添加了 Microsoft VBScript 正则表达式 5.5 库并创建了这个模块:

Function Replace_Regex(str1, patrn, replStr)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True

Replace_Regex = regEx.Replace(str1, replStr)
End Function

然后,我运行这个查询: 更新样本 set body = Replace_Regex(body, "]+?", "")

但结果是:

 ame>John</name><age>12</age>

那么,有什么问题呢?

【问题讨论】:

【参考方案1】:

将此添加到函数中:

regEx.Global = True

然后使用"&lt;[^&gt;]*&gt;"作为模式。

这是我在“即时”窗口中看到的内容:

body = "<name>John</name><age>12</age>"
? Replace_Regex(body, "<[^>]*>", "")
John12

【讨论】:

以上是关于在 ms access 2010 中使用正则表达式替换列的主要内容,如果未能解决你的问题,请参考以下文章

在 MS ACCESS 中查找完成的字段百分比

在 MS Access 中触发

使用 c# 和 oledb 查询更新 Ms-Access 2010 中的列值

在 JAVA 中使用带有 MS Access 2010 数据库的 Update 语句

如何在 MS Access 2010 中组合多种查询类型?

如何在 MS Access 2010 中使用 VBA 选择多值组合框的值?