Ocaml:unicode 字符串长度
Ocaml: unicode string length
在 OCaml 中,如何计算可能具有 unicode 编码的字符串的长度?举个例子,这是我的问题:
utop # "\u{02227}";;
- : string = "∧"
utop # Caml.String.length "\u{02227}";;
- : int = 3
utop # Base.String.length "\u{02227}";;
- : int = 3
我想得到显而易见的答案:1.
如果要计算扩展字素簇(又名图形字符)的数量,可以使用uuseg
。例如
let len = Uuseg_string.fold_utf_8 `Grapheme_cluster (fun x _ -> x + 1) 0
let n = len "∧";;
returns
val n : int = 1
在 OCaml 中,如何计算可能具有 unicode 编码的字符串的长度?举个例子,这是我的问题:
utop # "\u{02227}";;
- : string = "∧"
utop # Caml.String.length "\u{02227}";;
- : int = 3
utop # Base.String.length "\u{02227}";;
- : int = 3
我想得到显而易见的答案:1.
如果要计算扩展字素簇(又名图形字符)的数量,可以使用uuseg
。例如
let len = Uuseg_string.fold_utf_8 `Grapheme_cluster (fun x _ -> x + 1) 0
let n = len "∧";;
returns
val n : int = 1