<RefEntry id="match-split-list"> <!-- This file is generated automatically from the DSSSL source. --> <!-- Do not edit this file! --> <?html-filename match-split-list.html> <RefMeta> <RefEntryTitle>match-split-list</RefEntryTitle> <RefMiscInfo Role="file">dblib.dsl</RefMiscInfo> </RefMeta> <RefNameDiv> <RefName>match-split-list</RefName> <RefPurpose>Splits a string at a list of targets and returns the resulting list of tokens</RefPurpose> </RefNameDiv> <RefSynopsisDiv><Title>Synopsis</Title> <Synopsis> (match-split-list string target-list) </Synopsis> </RefSynopsisDiv> <RefSect1><Title>Description</Title> <para> Splits <literal>string</literal> at every target in <literal>target-list</literal> with <literal>(match-split)</literal>, returning the whole collection of tokens as a list. </para> <variablelist> <varlistentry><term>string</term> <listitem> <para> The string to split. </para> </listitem> </varlistentry> <varlistentry><term>target-list</term> <listitem> <para> A list of target strings which are the delimters between tokens. </para> </listitem> </varlistentry> </variablelist> </RefSect1> <RefSect1><Title>Author</Title> <para> Norman Walsh, <ndw@nwalsh.com> </para> </RefSect1> <RefSect1><Title>Source Code</Title> <ProgramListing> (define (match-split-list string target-list) ;; Splits a string at a list of targets and returns the resulting list of tokens (let loop ((result (list string)) (tlist target-list)) (if (null? tlist) result (loop (match-split-string-list result (car tlist)) (cdr tlist))))) </ProgramListing> </RefSect1> </RefEntry>