时间:2023-06-19|浏览:184
用戶喜愛的交易所
已有账号登陆后会弹出下载
为了达到这个目的,我们可以使用PowerQuery中的列表元素来进行分析。在这个编码中,"/"可以替换成逗号“,”,而"~"可以替换成"..”。如果不考虑前缀,这个编码应该被展开成这样的列表:"82, 84, 97..114"。最后,我们只需要在两边加上大括号,就可以得到想要的编码列表。
第一步,我们需要使用Text.Replace函数,它的使用方式类似于Excel的SUBSTITUTE函数。我们需要替换两次,分别替换"/"和"~"。然后在两边加上大括号。
接下来,我们需要将字符串转换为列表。在PowerQuery中,我们可以使用Expression.Evaluate函数,它可以将文本表达式计算出来。然后,我们需要逐个加上前缀,为了处理长度不同的编码,我们还需要使用Number.ToText函数,在前面补上0,以保证编码长度一致。
如果我们把这个查询做成一个函数,可以用两个参数来控制编码的前缀和后缀长度。如果需要控制后缀长度,可以使用Text.Repeat函数来写出对应个数的0。最后,我们可以得到以下的表达式:
(t,l)=> List.Transform( Expression.Evaluate("{"& Text.Replace( Text.Replace(Text.End(t,Text.Length(t)-l),"/",","), "~","..")& "}"), each Text.Range(t,0,l)&Number.ToText(_,"000"))
其中,参数t表示文本描述的编码,参数l表示前缀长度。现在,你可以试试编写一个自己的函数,用它来控制后缀长度。