๐๐ช Text split in 10
One blob of text, ten separately wireable outputs
- part1
- part2
- part3
- part4
- part5
- part6
- part7
- part8
- part9
- part10
The author's own changelog explains this one better than any feature list could: "One day I had 6, and got stuck with the split in 5 node, so I guess it can be useful sometimes, let's make one with 10." That's exactly what it is - the pack already had a Text Split in 5 node, someone (probably the author himself) needed a seventh output, and rather than adding a configurable count, the pragmatic fix was a second node with more slots. This one splits a single block of text into up to ten separate STRING outputs, useful any time you've got a numbered list - a set of lines from an LLM, a batch of names, whatever - and you need each item individually wireable to a different node instead of stuck together in one blob.
How it works
Feed it input_string and a delimiter (newline by default, written as \n) and it splits on that delimiter, handing back up to ten pieces as part1 through part10. If your text has fewer than ten segments, the extra outputs just come back empty - nothing breaks, you just don't wire those ones up. The more specific feature is ignore_before_equals: turn it on and, for any line formatted like name=John, the node strips everything up to and including the = and gives you just John in that slot. That's aimed squarely at text written in a "variable format" - say output from an LLM structured as key=value per line - where you want the values without the labels cluttering every output.
The inputs and outputs that matter
input_string(STRING, multiline) - the text block to split.delimiter(STRING, default\n) - what to split on. Change it if your text is separated by commas, semicolons, or anything else instead of line breaks.ignore_before_equals(BOOLEAN, default false) - strips akey=prefix off each segment before it comes out, if your text is formatted that way.- Outputs:
part1throughpart10(STRING) - each segment, in order. Unused slots just come back empty if your input has fewer than ten pieces.
How to install it
Via ComfyUI Manager: search Bjornulf_custom_nodes, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/justUmen/Bjornulf_custom_nodes
cd Bjornulf_custom_nodes && pip install -r requirements.txt
then restart ComfyUI. No special dependency for this node itself - plain string splitting - but you're installing the shared 170-node pack and its requirements.txt regardless, since it's all one repository.
Common issues & troubleshooting
Everything lands in part1 and nothing else fills in. Almost always a delimiter mismatch - check that your text actually uses the delimiter you set. If your source text uses commas or semicolons rather than newlines, update delimiter to match, or the node has nothing to split on.
You have more than ten segments. This node is hard-capped at ten outputs - anything past the tenth segment is simply dropped, not wrapped into the last slot. If you regularly need more, the pack's Text Split in 5 node won't help (it has fewer, not more), so you'd be looking at restructuring your text into smaller chunks, or splitting it in two passes.
ignore_before_equals strips more than expected. It matches on the first = in each segment, so a value that itself contains an equals sign (like a URL with a query string) will get cut at the wrong point. Turn it off and handle that case with a separate Replace Text node if your data has equals signs inside the values themselves, not just as a label separator.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| input_string | STRING | โ | |
| delimiter | STRING | \n | โ |
| ignore_before_equals | BOOLEAN | false | โ |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| part1 | STRING | โ |
| part2 | STRING | โ |
| part3 | STRING | โ |
| part4 | STRING | โ |
| part5 | STRING | โ |
| part6 | STRING | โ |
| part7 | STRING | โ |
| part8 | STRING | โ |
| part9 | STRING | โ |
| part10 | STRING | โ |