如何用Power Query从长字符串中提取指定文本并新建列?
Power Query 实现方案
1. 新增Bluetooth判断列
直接通过自定义列实现条件判断:
- 打开Power Query编辑器,选中目标数据表
- 点击「添加列」选项卡 → 「自定义列」
- 在公式输入框中粘贴以下代码(替换
[原字符串列]为你的实际列名):= if Text.Contains([原字符串列], "Bluetooth") then "Bluetooth" else null - 点击确定后,新列会在包含"Bluetooth"的行显示该文本,其余行显示空值。
2. 处理含内部逗号的分隔字符串拆分
如果你的字符串是引号包裹内部逗号的格式(比如"设备A,型号X",Bluetooth,设备B),Power Query有内置的适配方案:
- 选中要拆分的列,点击「转换」选项卡 → 「拆分列」→ 「按分隔符」
- 分隔符选择「逗号」,展开「高级选项」后选择「根据引号拆分」
- 点击确定,引号内的逗号会被保留,只有外部逗号会作为拆分依据。
如果内部逗号没有引号包裹,需要根据实际格式自定义规则。比如假设内部逗号是转义后的\,,可以用Text.SplitWithDelimiters函数处理:
= Text.SplitWithDelimiters([原字符串列], {","}, {"\\"})
具体逻辑需根据你的字符串格式调整,优先推荐引号包裹场景的内置拆分方法,这是最常见的合规格式。
内容的提问来源于stack exchange,提问作者Asscha197
相关产品推荐
相关产品推荐

