以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]替换的一个小问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102843)

--  作者:jyh7081
--  发布时间:2017/6/26 19:14:00
--  [求助]替换的一个小问题

以前的帖子:根据另一表格内容批量替换

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=95391&page=2

 

当被替换的标的包含半角括号时,提示出错,见下图,比如,替换标的“(2016)”前边的括号为半角,后边的括号为全角。

 


图片点击可在新窗口打开查看此主题相关图片如下:image 3.jpg
图片点击可在新窗口打开查看

 

附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:批量替换.table

 

替换代码如下:

Dim dt1 As DataTable = DataTables("数据表")
Dim dt2 As DataTable = DataTables("替换编辑")
For Each dr As DataRow In dt2.Select("")
    For Each fdr As DataRow In dt1.Select("编号 = \'" & dr("编号") & "\'")
        For Each dc As DataCol In dt1.DataCols
            If dc.IsString Then
                fdr(dc.name) = System.Text.RegularExpressions.Regex.replace(fdr(dc.name), dr("替换前内容"), dr("替换后内容"))
            End If
        Next
    Next
Next


--  作者:有点蓝
--  发布时间:2017/6/26 20:33:00
--  
fdr(dc.name) = System.Text.RegularExpressions.Regex.replace(fdr(dc.name), dr("替换前内容").replace("(","\\(").replace(")","\\)"), dr("替换后内容"))