即
List | a | b |
---|---|---|
[爬(无)](http://xxx/) |
爬(无) | http://xxx/ |
大概这个效果吧。。
附件: https://www.lanzous.com/i89bvod
我的图里面有个()没处理好。求好方法吧
即
List | a | b |
---|---|---|
[爬(无)](http://xxx/) |
爬(无) | http://xxx/ |
大概这个效果吧。。
附件: https://www.lanzous.com/i89bvod
我的图里面有个()没处理好。求好方法吧
Text.BetweenDelimiters 设定可选参数即可。该例暂未使用正则、Text.Remove。
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Win66ffnzKSuebl/6tHX7+z09zzq7n3V1gcipM5/sXfC0cdbT9l0vV894umT5kx1dz2e1pCQWZyTlJxalvFy57+XKbS86NsZqZJSUFFjp65eXl+uV5JeWZCbm6yXn5+pnlqTm6puZmxtbmphZmJuYGFsYWBoamRvpayrF6gCtft6x5sXM1c+6GoBueL9n1vNVjc8XbHna2ft89fqn/b0vNjS/WD9V49n0BS9nTkhJTSpNT08t0iRomaGRmaWxgaGxhYWhhZGBkQHIslgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [List = _t]),
源 = Excel.CurrentWorkbook(){[Name="表2"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"List", type text}}),
自定义1 = Table.TransformColumns(源, {"List", each [a=Text.BetweenDelimiters(_,"[","](",{0, RelativePosition.FromStart}),b=Text.BetweenDelimiters(_,"](",")", {0, RelativePosition.FromEnd},0)]}),
#"展开的“List”" = Table.ExpandRecordColumn(自定义1, "List", {"a", "b"}, {"a", "b"})
in
#"展开的“List”"
each [a=Text.BetweenDelimiters(_,"[","](",{0, RelativePosition.FromStart}),b=Text.BetweenDelimiters(_,"](",")", {0, RelativePosition.FromEnd},0)]}),
{0, RelativePosition.FromStart} 这里什么意思,我试了下去掉也不影响结果。能解释下么,参数是index。我以为是个数值,这里{}是个列表么?
RelativePosition.FromStart 我看了文档没明白什么作用。
@wgf4242 索引既可以是0,也可以是{0, RelativePosition.FromStart},还可以是{0, 0},其中第2个0对应RelativePosition.FromStart(1则对应RelativePosition.FromEnd),第一个0自然是索引。RelativePosition.FromStart或0是从左到右数,RelativePosition.FromEnd或1是从右到左数。Text.BetweenDelimiters共5个参数,最后两个参数为可选(索引)参数。索引参数可以选择数值,或者适当两个元素的list,或者为空(无后一参数的情况下)。若参数为0,则表示从左向右数第1个对应符号(左括号或右括号)的位置,为1,则表示第2个对应符号的位置。若参数大于对应符号的数量减1,则可看做无穷远处,结果返回空或者截断左边的对应位置的符号后的剩余右边部分(从左向右数时)。需要注意第5参数是相对第4参数的(endIndex相对startIndex编制索引)。可以看站长的帖子Text.Before/After/BetweenDelimiter(s)或者官方的帮助验证下。解答写成list是为了实践下参数,在该例中当然可以直接去掉。