F# 从字符串初始化列表?

F# 从字符串初始化列表?,f#,F#,我有一个字符串“H1E1T1H1”,我想用一个字符串(如“OP”)替换每个“1”,我认为使用列表可以最容易地实现这一点,因为添加元素很容易。然而,我想知道如何从一个sting初始化一个列表?(如果使用列表实际上并没有让它变得更简单,请纠正我:)最简单的方法(在F#中是惯用的)是使用字符串。替换方法如下: let str = "H1E1T1H1" let result = str.Replace("1","OP") 但如果你想要FP只是因为你可以…:) 如果您想根据字符的索引用不同的字符串替换相

我有一个字符串“H1E1T1H1”,我想用一个字符串(如“OP”)替换每个“1”,我认为使用列表可以最容易地实现这一点,因为添加元素很容易。然而,我想知道如何从一个sting初始化一个列表?(如果使用列表实际上并没有让它变得更简单,请纠正我:)

最简单的方法(在F#中是惯用的)是使用
字符串。替换
方法如下:

let str = "H1E1T1H1"
let result = str.Replace("1","OP")
但如果你想要FP只是因为你可以…:)

如果您想根据字符的索引用不同的字符串替换相同的字符

"H1E1T1H1"
|> Seq.mapi (fun i x ->
    match i,x with
    | (i, '1') when i < 4 || i > 6 -> "OP"
    | (_, x) -> string x)
|> String.concat ""
“H1E1T1H1”
|>Seq.mapi(乐趣i x->
将i,x与
|(i,'1')当i<4 | i>6->“OP”
|(ux)->字符串x)
|>String.concat“”
最简单的方法(在F#中是惯用的)是使用
字符串。替换
方法如下:

let str = "H1E1T1H1"
let result = str.Replace("1","OP")
但如果你想要FP只是因为你可以…:)

如果您想根据字符的索引用不同的字符串替换相同的字符

"H1E1T1H1"
|> Seq.mapi (fun i x ->
    match i,x with
    | (i, '1') when i < 4 || i > 6 -> "OP"
    | (_, x) -> string x)
|> String.concat ""
“H1E1T1H1”
|>Seq.mapi(乐趣i x->
将i,x与
|(i,'1')当i<4 | i>6->“OP”
|(ux)->字符串x)
|>String.concat“”

Ohh,但是如果我想根据字符的索引用不同的字符串替换相同的字符,该怎么办?“那么替换就不是一个选项了,对吗?”那个家伙补充道。但由于某种原因,我无法接受电话上的回答。回家后我会做:)哦,但是如果我想根据字符的索引用不同的字符串替换同一个字符呢?“那么替换就不是一个选项了,对吗?”那个家伙补充道。但由于某种原因,我无法接受电话上的回答。我到家后再做:)