|
|
|
|
|
by draegtun
3377 days ago
|
|
Thats why i much prefer to use something like the Parse dialect that comes with Rebol / Red - http://www.rebol.com/docs/core23/rebolcore-15.html Here's ebiester Icon example in the parse dialect: s: "This is a string"
parse s [
any " " ;; skip past any leading blanks (none in this example!
any [ ;; repeat ANY while keeps matching (true)
copy word to [" " | end] ;; next word up to next blank or EOL
(print word) ;; print word
skip ;; skip past blank
]
]
And here is one translation of falsedan example: ws: [some [" " | "^-"]]
sep: #"^-"
digits: charset "1234567890"
lower: charset [#"a" - #"z"]
upper: charset [#"A" - #"Z"]
cost: [3 5 digits "." 2 digits]
quoted-description: [
copy quot [{'} | {"}]
some [{\} quot | upper | lower | " "]
quot
]
unquote-description: [to sep]
description: [quoted-description | unquote-description]
SKU: [some [upper | digits]]
parse/case s [ws cost sep description sep SKU ws]
|
|