删除OCaml中字符串中的最终尾部'\n'

EBM*_*EBM 1 ocaml

我需要创建一个接收字符串的函数,并检查最后一个字符是否为"\n".如果是这样,则返回相同的字符串,而不是它的最后一个字符.我能想到这样做的方式并不是最有效的.我需要它才能有效率.

Tho*_*mas 5

由于您没有提供任何背景信息,因此很难对您的问题给出准确的答案.

我能想到的最简单的解决方案是:

let check s =
  let n = String.length s in
  if n > 0 && s.[n-1] = '\n' then
    String.sub s 0 (n-1)
  else
    s
Run Code Online (Sandbox Code Playgroud)