You could try the string expressions, such as these:
Find the first index within src that text occurs, else returns -1.
Return the first count characters of text.
Return the number of characters in text.
Convert the given text to all lowercase.
mid(text, index, count)
Return the count characters starting from index in text.
replace(src, find, rep)
Find all occurrences of find in src and replace them with rep.
Return the last count characters of text.
tokenat(src, index, separator)
Return the Nth token from src, splitting the string by separator. For example, tokenat("apples|oranges|bananas", 1, "|") returns oranges.
Count how many tokens occur in src using separator. For example, tokencount("apples|oranges|bananas", "|") returns 3.
Basically treat the string as an array, separated by character of choice (comma or such). With these expressions you can make your own FIFO and LIFO implementations.
Or you can use one of user made plugins.