ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1728|回复: 10

[求助] 指定字段删除与保留

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-7-19 15:08 | 显示全部楼层 |阅读模式
这个有点难度,期待大神出现。。。(如附件所示,请在PQ里追加新列显示结果)


指定字段删除与保留.7z

9.26 KB, 下载次数: 23

TA的精华主题

TA的得分主题

发表于 2021-7-19 15:45 | 显示全部楼层
let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    已添加自定义 = Table.AddColumn(源, "自定义", each
List.Select(
List.Transform(  
{"brand.com/","search-ux|","learnux|","shop|"},  
(x)=>if Text.Contains([URL],x) then Text.AfterDelimiter([URL],x) else ""
),
(y)=>y<>""){0}?
)
in
    已添加自定义

TA的精华主题

TA的得分主题

发表于 2021-7-19 15:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-7-19 15:55 | 显示全部楼层
写复杂了,请参考2楼老师的

指定字段删除与保留.zip

17.18 KB, 下载次数: 7

评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-19 16:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
624134745 发表于 2021-7-19 15:55
写复杂了,请参考2楼老师的

依然感谢大神指点。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-19 16:58 | 显示全部楼层

大神,可以麻烦你上传一下附件吗?我按照你给的截图写入代码后,总是出现重复行。。。

TA的精华主题

TA的得分主题

发表于 2021-7-19 17:10 | 显示全部楼层
本帖最后由 我走我流 于 2021-7-19 17:15 编辑

练习下正则,,
2021-07-19_171054.png

正则指定字段删除与保留.rar

17.15 KB, 下载次数: 0

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-7-19 17:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

你发了个啥。。。附件呢?

TA的精华主题

TA的得分主题

发表于 2021-7-19 17:41 | 显示全部楼层
本帖最后由 ThxAlot 于 2021-7-19 18:37 编辑

REGEX可以通过Web.Page()函数在PQ里直接使用,即间接通过js使用regex,这样就可以使用assertion lookbehind了。
===============================

有幺蛾子了
js本身是支持lookbehind的,但是嵌入到Web.Page()里的js似乎又不行了。。。
搜了半天也找不到个权威的说法,还请各位大神帮忙留意下,谢谢!
PS: 附件的网页回显是正确的,但是相同的js在PQ里就报错,只能改用non-capturing了
  1. let
  2.     RE = (regex as text, str as text) => Web.Page("<script>var regex = " & regex & "; var str = """ & str & """; var res = regex.exec(str)[1]; document.write(res)</script>")[Data]{0}[Children]{0}[Children]{1}[Text]{0},

  3.     Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("nVPbTgMhEP0Xn6W7bG2a+OYH+AVNH6YwZYnAIJe4NXy8tF1tomlJfSFkOJcZcmazeQCj0X1AwIVEY9gugJMLQbZ7WfHXoR/67mH7eAMGOVCAwIcGbn8Y+p4vW3KWryxfX3yFK59jkWMswtWTl4gQxMjyNN8CxmxSLAl2xQeSWaQrxORLHMkXMWoHphpqpzwoLD/NMIlg/s+u9pbupauIQWNkCmwt3cs+WSZNrkE8DhaLJ58NBGbAJ/KnaWODiFl8f6vEBLqqXAae+JoFPss1hEayWLSTODWAs5uAhIrCodoZNtdinSO+Va9W1zc1zu3+lUDveTE1VK6GS5LIFl0qAqwHrVxFkGMRzZ69OziRx5R8fO665m7MWW7iz+EPT2c4SfUbcNyLyUe+vIpQVJ+2Xw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [URL = _t]),
  4.     #"Added Custom" = Table.AddColumn(Source, "Custom", each RE("/(?:ux\||shop\||.com\/)(.+)/gi", [URL]))
  5. in
  6.     #"Added Custom"
复制代码




test lookbehind.zip

264 Bytes, 下载次数: 1

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-7-19 17:44 | 显示全部楼层
kyousn 发表于 2021-7-19 17:11
你发了个啥。。。附件呢?

由于PQ 实在对内存消耗太大,跑稍微多 一点数据  都要等,没办法  我才转 了 V BA
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-18 12:20 , Processed in 0.046415 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表