我有一个文本文件,如下所示。
新西兰航空有限公司,AIZ,运输
"AIRXPANDERS,INC.",AXP,医疗保健设备和服务
ALARA资源有限公司,AUQ,材料
ALCHEMIA有限公司,ACL,“制药、生物技术和生命科学”
炼金术资源有限公司,ALY,材料
它有三列,始终用逗号分隔。但也有一些例外,即内容本身包含逗号。文档已经将这些放在了一对引号中。
如何使用String.Split方法方便地读出列并处理这些异常?
干杯Ji
发布于 2017-10-19 14:17:57
使用regular expression和Matches函数提取匹配,而不是拆分字符串。
例如:
var input = @"Column1,Column2,""Column,4"",Column4";
var expression = @"""[^""]*""|[^,]+";
var results = Regex.Matches(input, expression);
foreach (var s in results)
{
Console.WriteLine(s);
}输出:
Column1
Column2
"Column,4"
Column4发布于 2017-10-19 12:03:08
这看起来像CSV格式。Import-Csv应该可以做到这一点:
$data = Import-Csv -Path your-data.txt -Delimiter ","Import-Csv假设第一行包含列标题。如果不是,您可以使用-Header开关(即-Header:"col1","col2","col3")来定义标头名称。
https://stackoverflow.com/questions/46822462
复制相似问题