如何在 OCaml 中获取字符串片段?
How to get slice of string in OCaml?
所以我正在用 OCaml 编写 JSON 解析器,我需要获取一段字符串。更具体地说,我需要获取字符串的前 n 个字符,以便与它们进行模式匹配。
这是一个示例字符串:
"null, \"field2\": 25}"
那么,我怎样才能只使用几行 OCaml 代码来获取前 4 个字符(null
)?
P.S。我已经考虑过使用 input.[0..4]
之类的东西,但我不完全确定它是如何工作的,我对 OCaml 和 ML 系列相当陌生。
使用内置 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) .
所以我正在用 OCaml 编写 JSON 解析器,我需要获取一段字符串。更具体地说,我需要获取字符串的前 n 个字符,以便与它们进行模式匹配。
这是一个示例字符串:
"null, \"field2\": 25}"
那么,我怎样才能只使用几行 OCaml 代码来获取前 4 个字符(null
)?
P.S。我已经考虑过使用 input.[0..4]
之类的东西,但我不完全确定它是如何工作的,我对 OCaml 和 ML 系列相当陌生。
使用内置 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) .