知らないうちに増えていたので、作りつつ挙動を理解してみます。
さーっと作ったので、どこかおかしいかもしれません。
たぶん2010のアドインにはなかったですよね。
Referenceでは
下記の通り載っている。手元のPDFにもいつの間にか入っていました。
https://docs.microsoft.com/ja-jp/powerquery-m/text-select
これによると、
Text.Select(text as nullable text, selectChars as any) as nullable text
とのこと。この情報といじった感じの挙動をもとに、コードを書いてみる。
コード
fx_Text_Select
(text as nullable text,SelectChars as list) as nullable text=>
let
TestedSource = let Splitted = List.Transform(SelectChars,each Text.ToList(_){0})
in if SelectChars = Splitted then SelectChars
else error "リストに1文字でない語が入っています。",
CharList = Text.ToList(text),
SelectedList = List.Transform(CharList,
each if List.Contains(TestedSource,_) then _
else null
),
NonNullList =List.RemoveNulls(SelectedList),
result =if text = null then null
else Text.Combine(NonNullList)
in
result