[英]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.