F# 将分隔字符串转换为数组
我有一个从C调用的F库,它读取JSON输出和CSV文件。该库对数据进行处理 将CSV文件读取到datatable时,我可以像下面这样迭代标题行:F# 将分隔字符串转换为数组,f#,f#-data,F#,F# Data,我有一个从C调用的F库,它读取JSON输出和CSV文件。该库对数据进行处理 将CSV文件读取到datatable时,我可以像下面这样迭代标题行: let myfile=FSharp.Data.CsvFile.Load(inFile) let headers=[| myfile.Headers.Value |] headers.[0] |>Seq.iter(fun y-> dataTable.Columns.Add(new DataColumn(y))) 我要
let myfile=FSharp.Data.CsvFile.Load(inFile)
let headers=[| myfile.Headers.Value |]
headers.[0]
|>Seq.iter(fun y-> dataTable.Columns.Add(new DataColumn(y)))
我要做的是在文件不包含头的情况下,从C#传入一个以管道分隔的字符串作为参数(hdrString)。e、 g.“Col1 | Col2 | Col3”。我打算使用match来确定字符串是否为空,然后通过拆分字符串来恢复到文件头。但是,我似乎无法将字符串(hdrString.split['|'])成功拆分为字符串数组(string[])。我尝试过拆分,但它给了我一个错误,本质上,我无法将字符串转换为obj。我还尝试了hdrString.ToCharArray(),但char[]与string[]不兼容。有什么建议吗?在您的示例中,您说您尝试了
hdrString.split['|']
,其中['|']
表示字符列表,而不是字符数组。请尝试:
let hdrString = "Col1|Col2|Col3"
hdrString.Split [| '|' |]
可能是打字错误,但是
.split
是.split
(大写s)。合适的方法是使用字符串.split
。您应该添加从中得到的错误。