首页 > 解决方案 > 将数组中的所有条目附加到字符串?

问题描述

我目前有一个包含 x 数量的字符串的数组,并且希望将所有这些条目附加到 OCaml 中的字符串中。

我知道在 OCaml 中将字符串附加到另一个字符串的方法是使用

let a ="Hello"
let b= "Blah Blah " ^ a

但是,我想使用数组中的所有条目来执行此操作。然后在附加完整数组后继续字符串。与此类似的东西:

let myArray = Array.make stages "Some text"
let myString = "I'm looking to append "^(ALL ENTRIES IN ARRAY)^" to this string"

标签: arraysocamlstring-concatenation

解决方案


如果你有一个字符串列表而不是数组,那么 String.concat 就可以了。因此,如果您有数组,您可以将数组转换为列表,然后应用 String.concat,如下所示:

String.concat " " (Array.to_list str_arr)

但是,如果您不想将其转换为列表,则可以使用 fold_left ,如下所示:

 Array.fold_left (fun x y -> x ^ y ^ " ") "" str_arr

请注意, fold_left 会为数组中的每个字符串(包括最后一个字符串)附加一个空格。String.concat 更好;它仅在字符串之间使用填充符


推荐阅读