【问题标题】:How to get slice of string in OCaml?如何在 OCaml 中获取字符串片段?
【发布时间】:2020-04-17 14:45:12
【问题描述】:

所以我在 OCaml 中编写一个 JSON 解析器,我需要获取一个字符串的片段。更具体地说,我需要获取字符串的前 n 个字符,以便与它们进行模式匹配。

这是一个示例字符串:

"null, \"field2\": 25}"

那么,我怎样才能只使用几行 OCaml 代码来获取前 4 个字符(null)?

附:我已经考虑过使用 input.[0..4] 之类的东西,但我不完全确定它是如何工作的,我对 OCaml 和 ML 家族相当陌生。

【问题讨论】:

  • 您是否尝试过查看标准库文档?那里有一个String.sub 函数。

标签: json string ocaml slice


【解决方案1】:

使用内置 sub 函数应该可以完成工作:

let example_string = "null, \"field2\": 25}"
(*val example_string : string = "null, \"field2\": 25}" *)
let first_4 = String.sub example_string 0 4
(*val first_4 : string = "null" *)

我建议你看看官方文档: https://caml.inria.fr/pub/docs/manual-ocaml/libref/String.html

如果您这样做不是为了自学,我强烈建议您使用其中一个可用的库,例如 yojson (https://ocaml-community.github.io/yojson/yojson/Yojson/index.html)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-20
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多