# How to split an incoming string by character count

**URL:** <https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063>\
**Category:** General\
**Created:** [17 November 2020 13:15 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063 "2020-11-17T13:15:45Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![pandapilot](https://avatars.discourse-cdn.com/v4/letter/p/2acd7d/32.png) [@pandapilot](https://discourse.nodered.org/u/pandapilot)\
**Post date:** [17 November 2020 13:15 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063/1 "2020-11-17T13:15:45Z")

</div>

I've got a string coming into nodered from an external piece of equipment that I can't change. This is an example of what it shows on a debug node:

14711/17/20 12:53:10RUN 11/17/20 13:09:50MEURO26 SAMPLE5000 T170PS0CMM-A17001 393000108663 638 476 440.300045B99 11

The supplier has given me a start position and character count for each field but I'm struggling to work out how to do this.

any suggestions anyone?

thanks

---

<div class="post-metadata">

**Author:** ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)\
**Post date:** [17 November 2020 13:35 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063/2 "2020-11-17T13:35:06Z")

</div>

Looks like you could split this using the space character in a split node.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [17 November 2020 13:37 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063/3 "2020-11-17T13:37:57Z")

</div>

If you want to use the character count method then in a function node you can use `substr()` to extract the text. [https://www.w3schools.com/jsref/jsref\_substr.asp](https://www.w3schools.com/jsref/jsref_substr.asp)

---

<div class="post-metadata">

**Author:** ![pandapilot](https://avatars.discourse-cdn.com/v4/letter/p/2acd7d/32.png) [@pandapilot](https://discourse.nodered.org/u/pandapilot)\
**Post date:** [17 November 2020 13:40 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063/4 "2020-11-17T13:40:11Z")

</div>

I thought that but was struggling to work out how to do multiple splits - any suggestions?

---

<div class="post-metadata">

**Author:** ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)\
**Post date:** [17 November 2020 13:41 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063/5 "2020-11-17T13:41:43Z")

</div>

```auto
[{"id":"d8006259.f055f","type":"split","z":"37470995.f4f636","name":"","splt":" ","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":330,"y":100,"wires":[["f0fc9f75.ac45b"]]},{"id":"b16d9bc.45b0168","type":"inject","z":"37470995.f4f636","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"14711/17/20 12:53:10RUN 11/17/20 13:09:50MEURO26 SAMPLE5000 T170PS0CMM-A17001 393000108663 638 476 440.300045B99 11","payloadType":"str","x":170,"y":100,"wires":[["d8006259.f055f"]]},{"id":"70fb54eb.357d2c","type":"debug","z":"37470995.f4f636","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":690,"y":100,"wires":[]},{"id":"f0fc9f75.ac45b","type":"join","z":"37470995.f4f636","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":490,"y":100,"wires":[["70fb54eb.357d2c"]]}]

```

---

<div class="post-metadata">

**Author:** ![pandapilot](https://avatars.discourse-cdn.com/v4/letter/p/2acd7d/32.png) [@pandapilot](https://discourse.nodered.org/u/pandapilot)\
**Post date:** [17 November 2020 13:51 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063/6 "2020-11-17T13:51:00Z")

</div>

Thanks, managed to get it working well using the substr() function

---

<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:** [16 January 2021 13:51 UTC](https://discourse.nodered.org/t/how-to-split-an-incoming-string-by-character-count/36063/7 "2021-01-16T13:51:11Z")

</div>

Closed on 16 January 2021 13:51 UTC

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