在OCaml中,可以使用模式匹配和正则表达式来去掉整型前后的括号。
方法一:使用模式匹配 可以定义一个函数,使用模式匹配来匹配整型前后的括号,并返回去掉括号后的整型值。
let remove_brackets (s: string) : int option =
match String.trim s with
| "(" ^ num ^ ")" -> Some (int_of_string num)
| _ -> None
使用示例:
let result = remove_brackets "(123)" in
match result with
| Some num -> print_int num
| None -> print_string "Invalid input"
方法二:使用正则表达式 可以使用OCaml的Str模块来进行正则表达式匹配,然后提取整型值。
let remove_brackets (s: string) : int option =
let regex = Str.regexp "\\((\\([0-9]+\\))\\)" in
if Str.string_match regex s 0 then
Some (int_of_string (Str.matched_group 1 s))
else
None
使用示例:
let result = remove_brackets "(123)" in
match result with
| Some num -> print_int num
| None -> print_string "Invalid input"
以上是在OCaml中去掉整型前后的括号的方法,可以根据具体需求选择使用模式匹配或正则表达式。
领取专属 10元无门槛券
手把手带您无忧上云