小编Ser*_*nse的帖子

如何使用PARSE解析字符串中的货币值

我正在尝试使用字符串中的Rebol 2/3解析货币值,货币值的格式如下:

10,50€或10,50€

我通过所有PARSE文档找到了这段代码,我发现它可以用Red实现,但不能用于Rebol 2或3.

digit: charset [#"0" - #"9"]
digits: [some digit]

euro: [digits "," digits [any " "] "€"]

parse "hello 22 44,55€ 66,44 €  33 world" [
    some [
        to euro
        copy yank thru euro
        (print yank)
    ]
]
Run Code Online (Sandbox Code Playgroud)

在玩了很长一段时间之后,我得出的结论是TO/THRU由于某种原因不适用于数字(它似乎与字符一起使用),但是我无法弄清楚如何解析它TO/THRU因为字符串具有需要跳过的任意内容.

结果:

(来自tryrebol)

红色:

44,55€
66,44 €
Run Code Online (Sandbox Code Playgroud)

Rebol 3:

*** ERROR
** Script error: PARSE - invalid rule or usage of rule: [some digit]
** Where: parse try do either either either -apply-
** Near: parse "hello 22 …
Run Code Online (Sandbox Code Playgroud)

parsing rebol

5
推荐指数
1
解决办法
92
查看次数

标签 统计

parsing ×1

rebol ×1