# Node Red 1.3.4v substring

**URL:** <https://discourse.nodered.org/t/node-red-1-3-4v-substring/64635>\
**Category:** General\
**Created:** [3 July 2022 14:48 UTC](https://discourse.nodered.org/t/node-red-1-3-4v-substring/64635 "2022-07-03T14:48:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sparkys](https://avatars.discourse-cdn.com/v4/letter/s/7bcc69/32.png) [@sparkys](https://discourse.nodered.org/u/sparkys)\
**Post date:** [3 July 2022 14:48 UTC](https://discourse.nodered.org/t/node-red-1-3-4v-substring/64635/1 "2022-07-03T14:48:38Z")

</div>

I am new to Node Red I want to display data from serial port on Dashboard.  
The in coming data example #!1234567890123456 split into 4 substrings  
Substring1 = 123  
Substring2 = 456  
Substring3 = 78901  
Substring4 = 23456

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [3 July 2022 15:14 UTC](https://discourse.nodered.org/t/node-red-1-3-4v-substring/64635/2 "2022-07-03T15:14:28Z")

</div>

One way wouldbe to use a function node and Slice() [String.prototype.slice() - JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice)  
example flow

```auto
[{"id":"f6332b85.359ec8","type":"inject","z":"bf9e1e33.030598","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"#!1234567890123456","payloadType":"str","x":280,"y":120,"wires":[["4c3a662e.52be7"]]},{"id":"4c3a662e.52be7","type":"function","z":"bf9e1e33.030598","name":"","func":"const string = msg.payload;\nconst bits = [[\"name1\",2,5],[\"name2\",5,8],[\"name3\",8,13],[\"name4\",13,19]];\nmsg.payload = bits.reduce((acc, arr) => {\n return Object.assign(acc, {[arr[0]]:string.slice(arr[1],arr[2])});\n},{});\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":320,"y":60,"wires":[["9efd2c72.cb6e88"]]},{"id":"9efd2c72.cb6e88","type":"debug","z":"bf9e1e33.030598","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":620,"y":100,"wires":[]}]

```

Output

```auto
{
    "name1": "123",
    "name2": "456",
    "name3": "78901",
    "name4": "23456"
}

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [1 September 2022 15:15 UTC](https://discourse.nodered.org/t/node-red-1-3-4v-substring/64635/3 "2022-09-01T15:15:11Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
