[英]Read CSV file Linq
我的数据如下
姓名,出生日期,地点,资格
“ Ranjan,Priya”,1988年1月1日,“浦那,马哈拉施特拉邦”,B.Tech
“玛雅克,阿格罗瓦尔”,1990年5月5日,“兰契,拉杰森”,BCA
当我使用split属性和逗号作为分隔符时,我的名称和位置值会被拆分,但它是单个值。然后如何使用linq将Name和Location作为单个值获取。
真的不会与Linq一起使用。 RegEx非常自然,而且,这个问题已经由其他人解决 。 那是我发现的地方:
protected virtual string[] SplitCSV(string line)
{ System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline)
| System.Text.RegularExpressions.RegexOptions.IgnoreCase);
Regex reg = new Regex("(?:^|,)(\\\"(?:[^\\\"]+|\\\"\\\")*\\\"|[^,]*)", options);
MatchCollection coll = reg.Matches(line);
string[] items = new string[coll.Count];
int i = 0;
foreach(Match m in coll)
{
items[i++] = m.Groups[0].Value.Trim('"').Trim(',').Trim('"').Trim();
}
return items;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.