Just now, Laurent wrote: > 1. Laurent: Does this make more sense? > > Yes, this definitely makes more sense to me. It would then treat > (string-split "aXXbXXXXy" "X") just like the " " case. > > Although if you want to find the columns of a latex line like "x && > y & z" you will have the wrong result. Maybe use an optional > argument to remove the empty strings? (not sure)
(This complicates things...) First, I don't think that there's a need to make it able to do stuff like that -- either you go with regexps, or you use combinations like (map string-trim (string-split "x && y & z" "&")) > 4. Related to Q3: what does "xy" as that argument mean exactly? > a. #rx"[xy]" > b. #rx"[xy]+" > c. #rx"xy" > d. #rx"(?:xy)+" > > Good question. d. would be the simplest case for newbies, but > b. might be more useful. I think several other languages avoid this > issue by using only one character as the separator. The complication is that with " " or " \t" it seems that you'd want b, and with "&" you'd want c. (Maybe even make "&" equivalent to #rx" *& *" -- that looks like it's too much guessing.) And you're also making a point for: e. Throw an error, must be a single-character string. BTW, this question is important because it affects other functions, so I'd like to resolve it before doing anything. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________ Racket Developers list: http://lists.racket-lang.org/dev