[luatex] String manipulation in Lua.
Paul Isambert
zappathustra at free.fr
Thu Dec 2 21:57:17 CET 2010
Correcting myself:
Le 02/12/2010 20:59, Paul Isambert a écrit :
> I have the following solution:
>
>
> local sub, gsub = string.sub, string.gsub
> function isub (str, pattern, replace, index, num)
> -- Extract the suffix starting at given index
> local s1 = sub(str, index)
> -- Make the replacement on the suffix
> local s2 = gsub(s1, pattern, replace, num)
> -- Replace the suffix in the string with it modified version
> return gsub(str, s1 .. "$", s2)
> end
The solution doesn't even work, because if the suffix (i.e. s1) contains
a magic character, things might go wrong, since it is used as a pattern
afterward. For instance the following returns an error about an "invalid
pattern capture" (the right parenthesis):
isub("abc)abc", "b", "B", 1)
So I'd be very glad if anybody had a solution that works, without
escaping all magic characters beforehand, and preferably without LPeg
for the moment.
Best,
Paul
More information about the luatex
mailing list