Lan*_*a B 1 powerquery excel-2016
我有一个包含类似短语的专栏,我需要从chars中清除,如:;!通过用空格替换它们(以避免连接单词).
输入和输出示例:
"bla.blabla X&!:blablabla" 需要成为 "bla blabla X blablabla"
我找不到一个简单的简单解决方案!
source = data, //which has Oldcol column with data to clean
CharsToRemove = { ".", "'", ":", ";", "!", "?", "<", ">", "{", "}", "[", "]", "'", "`", "^", """", "&", "-","/", "\", "|","(", ")", "," , "=", "+"},
//line below is where I'd like to get to, it is not working
Newcol = Table.AddColumn(source , "NEWCOL", each
Text.Replace([Oldcol], CharsToRemove , " ") )
Run Code Online (Sandbox Code Playgroud)
基本上,我正在寻找最后一条工作线.
嵌套替换语句的选项有效,但它很笨,因为要替换的字符的实际列表很长,并且它发生在代码的许多部分.我可以把它变成这个功能,但我想知道是否有办法避免这一切,只是有一个聪明的线条来完成这项工作?
先感谢您
对于多个文本替换,您可以使用List.Accumulate,例如
let
CharsToRemove = Text.ToList(".':;!?<>{}[]'`^""&-/\|(),=+"),
Source = #table({"Oldcol"},{{"bla.blabla X&!:blablabla"}}),
Cleaned = Table.TransformColumns(Source,{{"Oldcol", each List.Accumulate(CharsToRemove,_,(String,Remove) => Text.Replace(String,Remove," "))}})
in
Cleaned
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2595 次 |
| 最近记录: |