如何在F#中连接字符串列表?

mwj*_*son 16 f#

我现在正在尝试这个,但我还没有完全找到方法签名......有人吗?消息是seq [string]的字段

let messageString = List.reduce(messages, fun (m1, m2) -> m1 + m2 + Environment.NewLine)
Run Code Online (Sandbox Code Playgroud)

Bri*_*ian 36

不完全是你想要的,但是

let strings = [| "one"; "two"; "three" |]
let r = System.String.Concat(strings)
printfn "%s" r
Run Code Online (Sandbox Code Playgroud)

你可以做

let strings = [ "one"; "two"; "three" ]
let r = strings |> List.fold (+) ""
printfn "%s" r
Run Code Online (Sandbox Code Playgroud)

要么

let strings = [ "one"; "two"; "three" ]
let r = strings |> List.fold (fun r s -> r + s + "\n") ""
printfn "%s" r
Run Code Online (Sandbox Code Playgroud)


Jul*_*iet 33

> String.concat " " ["Juliet"; "is"; "awesome!"];;
val it : string = "Juliet is awesome!"
Run Code Online (Sandbox Code Playgroud)

  • [ "朱丽叶"; "是"; "太棒了!"] |> String.concat"";; (2认同)

gra*_*bot 5

除非您需要进行更高级的格式化,否则我会使用 String.concat,然后我会使用 StringBuilder。

(StringBuilder(), [ "one"; "two"; "three" ])
||> Seq.fold (fun sb str -> sb.AppendFormat("{0}\n", str))
Run Code Online (Sandbox Code Playgroud)