以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 正则表达式求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=171039) |
||||
-- 作者:evolymft -- 发布时间:2021/8/15 16:03:00 -- 正则表达式求助
如何在FT 中实现同样的效果,谢谢老师!!!
|
||||
-- 作者:有点蓝 -- 发布时间:2021/8/15 20:57:00 -- 没看懂,请使用文字说明要做什么功能? |
||||
-- 作者:evolymft -- 发布时间:2021/8/15 22:06:00 -- 玉米粒 玉米 带壳玉米 玉米 玉米粒 玉米 土豆泥 土豆 黄土豆丝 土豆 土豆丁 土豆 黄瓜片 黄瓜 土豆片 土豆 黄瓜丝 黄瓜 土豆泥 土豆 黄瓜泥 黄瓜 自动匹配左列数据,结果写入同行右列,谢谢老师
[此贴子已经被作者于2021/8/15 22:06:07编辑过]
|
||||
-- 作者:evolymft -- 发布时间:2021/8/15 22:07:00 -- 附件有vba正则提取代码 |
||||
-- 作者:有点蓝 -- 发布时间:2021/8/15 22:13:00 -- 按照什么规则匹配?另外没看到有什么正则代码 |
||||
-- 作者:evolymft -- 发布时间: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 -- 发布时间:2021/8/16 13:33:00 -- 左列包含:玉米,土豆就提取到右列 |
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2021/8/16 16:17:00 -- 谢谢老师。 |
||||
-- 作者:evolymft -- 发布时间:2021/8/16 16:26:00 -- 老师:如何批量实现将“洋芋丝”替换成“土豆丝”;“洋芋丁”替换成“土豆丁”;“洋芋片”替换成“土豆片”?谢谢 |