Power Query如何删除文本类型CARRO列仅开头的0而不替换所有0
你原来的代码执行的是全局文本替换,会匹配列中所有位置的"0"进行删除,所以不符合仅删除开头0的需求,你可以用Text.TrimStart函数实现需求,该函数只会删除文本开头指定的字符,不会影响中间和末尾的内容,同时能保留列的文本类型。
方案1(最简洁推荐):使用Table.TransformColumns实现
#"Remover Zeros à Esquerda" = Table.TransformColumns(#"Personalização dicionada3", {{"CARRO", each Text.TrimStart(_, "0"), type text}})
如果你的需求是仅删除开头第一个0,而非所有连续的开头0,可以把逻辑调整为:
#"Remover Primeiro Zero à Esquerda" = Table.TransformColumns(#"Personalização dicionada3", {{"CARRO", each if Text.StartsWith(_, "0") then Text.Middle(_, 1) else _, type text}})
方案2:沿用Table.ReplaceValue语法实现
如果你习惯用Table.ReplaceValue的写法,也可以调整为如下逻辑:
#"Remover Zeros à Esquerda" = Table.ReplaceValue(#"Personalização dicionada3", each [CARRO], each Text.TrimStart([CARRO], "0"), Replacer.ReplaceValue, {"CARRO"})
内容的提问来源于stack exchange,提问作者Lino Costa
相关产品推荐
相关产品推荐

