加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,还可以提问交流。

数据源中经常会有一些列的内容是混合内容或者脏数据,夹杂着中文、数字、英文、符号等。PowerQuery可以快速实现提取或移除中文、数字、英文、大写英文、小写英文、甚至是指定字符。

解决方案

提取函数是Text.Select,移除函数是Text.Remove,两者语法相同。以提取为例,字符对应的代码如下:

字符类型

代码

中文

Text.Select([],{""..""})

数字

Text.Select([列],{"0".."9"})

英文

Text.Select([],{"A".."z"})

大写英文

Text.Select([列],{"A".."Z"})

小写英文

Text.Select([],{"a".."z"})

指定字符,比如"*"、"?"

Text.Select([列],{"*","?"})

针对不同的字符或字符范围需求,变化“{}”中的内容。一和龥(yù)是字符库中常用汉字的开始和结尾,它们之间是常用的20902个中文汉字,0和9之间是10个数字,A和z之间是52个英文字母,A和Z之间是26个大写英文字母,a和z之间是26个小写英文字母。如果是几个指定字符,中间用英文逗号隔开。

举例

对下表进行各种提取处理。

1 提取中文

Text.Select([混合内容],{""..""})

2 提取数字

Text.Select([混合内容],{"0".."9"})

3 提取英文

Text.Select([混合内容],{"A".."z"})

4 提取大写英文

Text.Select([混合内容],{"A".."Z"})

5 提取小写英文

Text.Select([混合内容],{"a".."z"})

6 提取指定字符,"王"和"李"

Text.Select([混合内容],{"",""})

7 移除指定字符,"*"和"?"

Text.Remove([混合内容],{"*","?"})

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐