神棍 list.accumulate 提取文本中的数字

题意提取,字母前的1位数字
描述1

= List.Accumulate(Text.ToList("ABC123DCDER456EYU789R"),{{},""},(x,y)=>  if  (y="D" or y="E" or y="R")  and  x{1}<":" then  {x{0}&{x{1}},y}  else {x{0},y})

现在来执行一下:

条件1-1
if (y="D" or y="E" or y="R") and
条件1-2
x{1}<":"
满足条件1-1 和条件1-2 都满足执行 条件返回 true
then {x{0}&{x{1}},y} //将上一个y 移动到x{0}列表中
条件2(不满足条件1) 条件返回false
else {x{0},y}) //用当前的y替换上一次的y

第一次:
y="A" 不满足条件 条件1-1, x{1}="" 满足条件1-3,由于条件1-1 和条件1-2是且的关系,所以最后条件返回false 执行else {x{0},y})
第二次:
y="B" 不满足条件 条件1-1, x{1}="A" 满足条件1-3,由于条件1-1 和条件1-2是且的关系,所以最后条件返回false 执行else {x{0},y})
......

file
描述2

= List.Accumulate(Text.ToList("ABC123DCDER456EYU789R"),{{},""},(x,y)=>  if x{1} <":" and List.Contains({"D","E","R"},y) then {x{0}&{x{1}},y} else {x{0},y})

描述3

=List.Accumulate(Text.ToList("kk123yy789tyh789kkk"),{{},""},(x,y)=>if x{1}<":" and x{1}<>""  and y >="A" then {x{0}&{x{1}},y} else {x{0},y})

file
收录@月亮菩提案例二个
file