On Thu, 29 Mar 2012 Uwe Lück submitted the
bitelist
package.
Summary description: split list at list inside in TeX's mouth License type: lppl
Announcement text: ---------------------------------------------------------------------- `bitelist.sty' provides commands for splitting a token list at the first occurrence of a contained token list. I.e., for given token lists s, t return b and shortest a, such that t = a s b. As opposed to other packages providing similar features, (i) the method uses TeX's mechanism of reading delimited macro parameters; (ii) the splitting macros work by pure expansion, without assignments, provided the macro doing the search has been defined before processing (e.g., a file); (iii) instead of using one macro for a substring test and another one to replace the substring--which includes extracting corresponding prefix and suffix--, the *same* macro that detects the occurrence returns the split; (iv) e-TeX is not required. (And LaTeX is not required.) This improves `fifinddo.sty' (v0.51).
An elaborated approach (additionally to a simpler one) is provided that does not loose outer braces of prefix/suffix.
Substring detection and string replacement are (implicitly) included with respect to certain representations of characters by tokens. Counting occurrences and global replacement could be achieved by applying the operation to earlier results, etc.--so this approach seems to be fundamental for a certain larger set of list analysis tasks.
The documentation aims to prove the correctness of the methods with mathematical rigour.
KEYWORDs: macro programming, text filtering, substrings
RELATED PACKAGEs: datatool, stringstrings, ted, texapi, xstring
----------------------------------------------------------------------
This package is located at http://mirror.ctan.org/macros/generic/bitelist . More information is at http://www.ctan.org/pkg/bitelist (if the package is new it may take a day for that information to appear). We are supported by the TeX Users Group http://www.tug.org . Please join a users group; see http://www.tug.org/usergroups.html .
------------------------------------------------------------------------
Thanks for the upload.
For the CTAN Team Rainer Schöpf