Power Query技术求助:无法移除电话号码字符串开头的44国家码
Power Query 统一电话号码格式(移除开头0或44)
你当前代码无效的原因是:检测到"44"开头后,只是将原号码转成字符串再拼接空字符串,完全没做移除操作。
修正方案1:分条件处理
直接针对开头的"44"或"0"做截断处理,同时兼容两种格式:
= Table.TransformColumns( #"Renamed Columns", {{ "telephone", each let textPhone = Text.From(_) in if Text.StartsWith(textPhone, "44") then Text.Middle(textPhone, 2) // 跳过前两位"44" else if Text.StartsWith(textPhone, "0") then Text.Middle(textPhone, 1) // 跳过开头的"0" else textPhone }} )
修正方案2:正则批量替换
用正则匹配开头的特定字符,一次性完成两种格式的统一:
= Table.TransformColumns( #"Renamed Columns", {{ "telephone", each Text.Replace( Text.Replace(Text.From(_), "^44", "", Replacer.ReplaceText), "^0", "", Replacer.ReplaceText ) }} )
这里^是正则的开头匹配符,确保只替换号码最前面的"44"或"0",不会误改号码中间的相同字符。
内容的提问来源于stack exchange,提问作者Peter Mogford
相关产品推荐
相关产品推荐

