Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 将分隔字符串转换为数组_F#_F# Data - Fatal编程技术网

F# 将分隔字符串转换为数组

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))) 我要

我有一个从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)))

我要做的是在文件不包含头的情况下,从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
。您应该添加从中得到的错误。