以下の内容はhttps://mofumofupower.hatenablog.com/entry/decodeUrlより取得しました。


Building "DecodeUrl" function in Power Apps

f:id:mofumofu_dance:20211227001848p:plain

Power Apps has capability to encode text to percent-encoded style (ex: EncodeUrl("@") -> %40), however, there is no decoding function (DecodeUrl).

So far, highly nested Substitute functions are used to decode a percent-encoded text. (See ref Decode URL in PowerApps - Power Platform Community )

In this short post, I will show how build the DecodeUrl function in Power Apps by combining built-in functions without nested Substitute.

Formula

Formula to decode Url components is expressed as following :

With(
    {
        decodeTable:AddColumns(AddColumns(Sequence(128,0),"char",Char(Value)),"ec",Substitute(EncodeUrl(char),"%","")),
        inputText:"params%3D%7B%22type%22%3A%22foo%22%2C%22color%22%3A%22green%22%7D"
    },
    If(
        CountRows(Split(inputText,"%"))>1,
        First(Split(inputText,"%")).Result &
        Concat(
            LastN(Split(inputText,"%"),CountRows(Split(inputText,"%"))-1),
            LookUp(decodeTable,ec=Left(Result,2)).char&Right(Result,Len(Result)-2),
            ""
        ),
        inputText
    )
)

where inputText is percent-encoded text, and this returns params={"type":"foo","color":"green"}.

f:id:mofumofu_dance:20211227001020p:plain

Limitation

The formula does not support multi-byte characters, since it performs "Split" in terms of "%" to find %-encoded part in given text, ( ä would be encoded to %C3%A4 but it is not correctly decoded by above formula)




以上の内容はhttps://mofumofupower.hatenablog.com/entry/decodeUrlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14