Hi, Carl used parse without any need to define a rule, e.g. parse some-string none will give you a block of strings separated by space
But why not to use rule? Because of having everything on one line? OK, with rebol - it is pretty legal to have whole script on one line (if you don't use comments of course :-), so: digits: charset "0123456789" spacer: #"-" tel-num: [3 digits spacer some [digits | spacer]] parse/all text [some [start: tel-num end: (print copy/part start end) | skip]] 555-1212 800-555-1111 123-4576 987-6543 111-1111 == true I know that tel-num rule allows for some 999------, but that is sufficient for our demo ... Just put on one line, shorten word names, and replace rebol code in parens to get your result ... If someone finds easier solution (e.g. iteration based) for my string replacement, cool then :-) hide-it: func [s e][ l: length? copy/part s e remove/part s e insert/dup s "#" l) parse/all text [some [start: tel-num end: (hide-it) | skip]] ; <----- clear and readable, isn't it? :-) Well, on the other hand not so straightforward as your Perl example ... Cheers, -pekr- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
