hey peter, you can do this with an eval DAT and the substr expression. I’m not in front of touch, but if I remember the syntax correctly, it should be something like this: substr(vs(0,0),$C,$C+1)
You’ll also need to create additional columns (ncols = strlen of your text) before feeding it into the eval DAT
Here ya go Rod! Thanks Achim, that was the trick! The expression was substr(vs(0,0),$C,1). The last argument is the length of the string you want to extract instead of the index.
I have it converting to all uppercase at the beginning, so you may want to bypass that first Eval DAT.
Let me know if it works or if there are any improvements to be made, seems pretty straightforward though!
Just looking through the tox, looking good, but wondering why you need the fill_table callback?
Why not just set the ‘characters’ column value to: strlen(tab(“convert2”, 0,0))
and avoid the for-loop scripting ?
Hmm, not sure why I didn’t do that! Sometimes it’s easier for me to script something out sequentially, especially when learning new script commands/expressions I suppose.
Here’s the non-script version, definitely cleaner. Thanks for the pointer Rob!
nice.
You could even eliminate the Merge, plug the ‘characters’ directly into eval1 and slightly
change the Formula to “substr(tab(“convert2”, 0, 0),$C,1)”
Might also be tempted to get rid of convert2. Whats it do?
Your example still works with it disabled.
Do you know how to modify it in the way that just letters will be splitted into separate columns and for example punctuation marks like point or comma will be in the same column as the letter before?