Nodes/ComfyUI Assistant Node/PVL String List To String
ComfyUI Node

PVL String List To String

Join a list of strings back into one

By pvlprk·Created about a year ago·Updated 8 months ago· 1
PVL String List To String
    • STRING
    texts
    delimiter[++]

    Lists are great until a node wants a single string. PVL String List To String takes a list of strings on its input and joins them into one string with a delimiter you choose. It's the exact inverse of the pack's PVL String To String List, and the two are designed to be a round trip: split a string into a list, process the items, join them back.

    It's from pvlprk/comfyui-pvl-api-nodes ("ComfyUI Assistant Node"), part of the same string toolkit as the concat nodes - but with an important difference: this one works on lists (variable length), where the concat nodes work on a fixed number of wired slots.

    How it works

    The node declares INPUT_IS_LIST, so ComfyUI hands it a Python list of strings rather than a single value. That means the texts input accepts an actual list output - the kind produced by the pack's String To String List, a wildcard loop, or any node that emits a STRING list. It then joins every element with your delimiter:

    • texts - the list input.
    • delimiter - default [++] (the pack's bracket convention, so commas and pipes inside your content don't collide with the join token).
    • Output - one STRING.

    It's defensive about garbage: None elements become empty strings, and an empty list returns an empty string rather than erroring. So a partially-wired upstream won't kill the run.

    Why you'd need this

    The round-trip pattern is the main event. Say you split a big prompt into a list, run each item through something that rearranges or filters them, and now need one clean string to feed a text encoder or a filename. This is the closing bracket. It's also useful when a node hands you a list and you simply want to see it - collapsing a list to a delimited string and previewing it is a quick way to debug what a wildcard loop is actually passing around.

    Installing

    cd ComfyUI/custom_nodes
    git clone https://github.com/pvlprk/comfyui-pvl-api-nodes
    

    restart, or install via ComfyUI Manager (search "ComfyUI Assistant Node"). No models, no dependencies.

    Where it trips people up

    • The input must actually be a list. If you wire a plain single string in, the behavior isn't what you'd hope - this node expects the "list" flavor of STRING. Keep the inverse node (String To String List) handy for the other direction.
    • [++] is not ,. If you join with the default and feed the result somewhere that expected commas, nothing breaks - you just get bracketed output and a confused downstream. Pick the delimiter to match the consumer.
    • It doesn't add trailing or leading content - pure delimiter.join(list). If you want a prefix/suffix, concat after the join.
    CategoryPVL/Utils/Text

    Inputs (2)

    NameTypeDefaultDescription
    textsSTRING
    delimiterSTRING[++]

    Outputs (1)

    NameTypeDescription
    STRINGSTRING