Foxtable(狐表)用户栏目专家坐堂 → 正则表达式求助


  共有4422人关注过本帖树形打印复制链接

主题:正则表达式求助

帅哥哟,离线,有人找我吗?
evolymft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1028 积分:7191 威望:0 精华:0 注册:2016/6/16 15:23:00
正则表达式求助  发帖心情 Post By:2021/8/15 16:03:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:vba正则自动提取指定文本到另一列.xls


如何在FT 中实现同样的效果,谢谢老师!!!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/15 20:57:00 [只看该作者]

没看懂,请使用文字说明要做什么功能?

 回到顶部
帅哥哟,离线,有人找我吗?
evolymft
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1028 积分:7191 威望:0 精华:0 注册:2016/6/16 15:23:00
  发帖心情 Post By:2021/8/15 22:06:00 [只看该作者]

玉米粒 玉米
带壳玉米 玉米
玉米粒 玉米
土豆泥 土豆
黄土豆丝 土豆
土豆丁 土豆
黄瓜片 黄瓜
土豆片 土豆
黄瓜丝 黄瓜
土豆泥 土豆
黄瓜泥 黄瓜
自动匹配左列数据,结果写入同行右列,谢谢老师
[此贴子已经被作者于2021/8/15 22:06:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
evolymft
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1028 积分:7191 威望:0 精华:0 注册:2016/6/16 15:23:00
  发帖心情 Post By:2021/8/15 22:07:00 [只看该作者]

附件有vba正则提取代码

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/15 22:13:00 [只看该作者]

按照什么规则匹配?另外没看到有什么正则代码

 回到顶部
帅哥哟,离线,有人找我吗?
evolymft
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1028 积分:7191 威望:0 精华:0 注册:2016/6/16 15:23:00
  发帖心情 Post By:2021/8/16 13:32:00 [只看该作者]

Dim arr, x, reg As Object, mat As Object, mat1 As Object, s$
arr = Range("a1:b" & Cells(Rows.Count, 1).End(3).Row)   ' 取了2列,第2列储存结果
Set reg = CreateObject("vbscript.regexp")
    With reg
        .Global = 1
        .Pattern = "(玉米)|(土豆)|(黄瓜)|(丝瓜)|(茄子)|(冬瓜)|(南瓜)|(西瓜)|(苦瓜)"
            For x = 1 To UBound(arr)
                Set mat = .Execute(arr(x, 1))
                If mat.Count > 0 Then
                        For Each mat1 In mat
                            s = s & "'" & mat1 '可能存在2种以上的内容
                        Next
                        arr(x, 2) = Mid(s, 2): s = ""
                Else
                    arr(x, 2) = ""
                End If
            Next
    End With
Range("a1").Resize(UBound(arr), 2) = arr

 回到顶部
帅哥哟,离线,有人找我吗?
evolymft
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1028 积分:7191 威望:0 精华:0 注册:2016/6/16 15:23:00
  发帖心情 Post By:2021/8/16 13:33:00 [只看该作者]

左列包含:玉米,土豆就提取到右列

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/16 14:21:00 [只看该作者]

Dim pattern As String = "(玉米)|(土豆)|(黄瓜)|(丝瓜)|(茄子)|(冬瓜)|(南瓜)|(西瓜)|(苦瓜)"
Dim txt = "黄瓜泥"
Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)

Dim s As String = rgx.Match(txt).value
Output.Show(s)

 回到顶部
帅哥哟,离线,有人找我吗?
evolymft
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1028 积分:7191 威望:0 精华:0 注册:2016/6/16 15:23:00
  发帖心情 Post By:2021/8/16 16:17:00 [只看该作者]

谢谢老师。

 回到顶部
帅哥哟,离线,有人找我吗?
evolymft
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1028 积分:7191 威望:0 精华:0 注册:2016/6/16 15:23:00
  发帖心情 Post By:2021/8/16 16:26:00 [只看该作者]

老师:如何批量实现将“洋芋丝”替换成“土豆丝”;“洋芋丁”替换成“土豆丁”;“洋芋片”替换成“土豆片”?谢谢

 回到顶部
总数 13 1 2 下一页