簡體   English   中英

在 Mulesoft 或 DataWeave 中以 n 大小的塊分割大字符串

[英]Split large string in n-size chunks in Mulesoft or DataWeave

我必須拆分一個字符串,假設字符大小為 100 到固定長度的 n 塊(在我的情況下是 10 個字符)。 最后一塊可能包含剩余的 harachters。

這我必須在 DataWeave 映射中完成。

輸入:

{
    "msg": "Hello world!",
    "str" : "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIG5vbiBvcmNpIHNlZCBsb3JlbSBjb25ndWUgbWF0dGlzIHNpdCBhbWV0IHV0IG51bGxhLiBTZWQgYWxpcXVhbSBjb25zZXF1YXQgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgdWx0cmljaWVzIG9kaW8gc2VtLCBhdCBjb25ndWUgZHVpIHBoYXJldHJhIHVsdHJpY2llcy4gTW9yYmkgc2l0IGFtZXQgc2VtIHZvbHV0cGF0LCB2b2x1dHBhdCBsYWN1cyB2ZWwsIGRhcGlidXMgbGFjdXMuIEludGVyZHVtIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyBhbnRlIGlwc3VtIHByaW1pcyBpbiBmYXVjaWJ1cy4gTWF1cmlzIGltcGVyZGlldCBlc3QgYXQgbnVsbGEgcGVsbGVudGVzcXVlLCBxdWlzIG1vbGVzdGllIGxhY3VzIHRlbXBvci4gU2VkIGV1aXNtb2QgZGFwaWJ1cyBudW5jIGV1IHBvc3VlcmUuIFNlZCBzZWQgcHVydXMgYXVjdG9yLCBwZWxsZW50ZXNxdWUgc2FwaWVuIHF1aXMsIGltcGVyZGlldCB1cm5hLg0KDQpDdXJhYml0dXIgYXVndWUgZG9sb3IsIHZvbHV0cGF0IHZpdGFlIHB1cnVzIGV0LCBpYWN1bGlzIGFjY3Vtc2FuIG1hZ25hLiBWZXN0aWJ1bHVtIGFudGUgaXBzdW0gcHJpbWlzIGluIGZhdWNpYnVzIG9yY2kgbHVjdHVzIGV0IHVsdHJpY2VzIHBvc3"
}

輸出應如下所示:

[{
    "msg": "Hello world!",
    "line": "<first 10 charachters>"
},
{
    "msg": "Hello world!",
    "line": "<2nd 10 charachters>"
},
...
{
    "msg": "Hello world!",
    "line": "<remaining charachters>"
}]

這里有一個類似的解決方案Mulesoft 3 DataWeave - split a string by an任意長度

基本上你需要

payload.str scan /.{1,10}/ map {
            msg: payload.msg,
            str: $[0]
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM