将字符串 AnyName 转换为 Camelcase

Convert String AnyName into Camelcase

我使用 Microsoft Power Query M 工作了一段时间,遇到需要将第一列中的名称转换为 Camelcase 的情况。

我收到 Any_Name 格式的数据。我做的第一步是将 _ 替换为 "":

 #"Replaced Value" = Table.ReplaceValue(#"Expanded {0}","_","",Replacer.ReplaceText,{"Column1.dbColumnName"})

第一列中每个单元格的上述函数的输出是 AnyName,我现在需要将第一个字符转换为小写字符以获得 Camelcase 字符串。

这怎么可能?因为没有它的功能。我正在考虑通过用 Text.Split 拆分文本来获取第一个字符。此功能只允许在所需字符处进行拆分。但不是字符数。所以不可能在 charpos 0 处说 split。转换为大写应该用 Text.Upper 完成。 Text.PadStart 的用法可用于再次添加转换后的字符。

我的问题是我确实知道如何将它应用于第一列中的所有单元格。

您可以使用

let
    Source = #table(type table[Name = text],{{"MarcelBeug"},{"IrgendwPointer"}}),
    camelCase = Table.TransformColumns(Source,{"Name", each Text.Lower(Text.Start(_,1))&Text.Range(_,1)})
in
    camelCase