簡體   English   中英

使用正則表達式在c#中使用單引號,雙引號或無引號拆分csv文件

[英]Split csv file with single quotes, double quotes or no quotes in c# using regular expression

我在該拆分中有CSV文件可以使用正則表達式單引號,雙引號或不引號。

單引號數據之類的。 它可能包含雙引號或單引號中的逗號。需要用單引號將其分開。

'name','Barcode','SecundaryKey','category','description','supplier','quantity','price','discount_price','short_name'
'eclipse 900-206 helping hands  iron holder -2.5x','30475','7crkvVHAFkVJu670c','Nu4m5WRJS','HNU6UFuR26nq','PtmI4DlZGfCk','iNHEvAMwIfVKfNFlVUOyEHDz','6977447822.90','7285957253.05','ybT8NOZB'
'bostitch 15 amp 7 1/4"" heavy circular saw blade','173924','BOYw88CXc12lau73Rylz','wMxwNtE','6qSJDZEFMYP8Q','l22xuvZ812b0ywe','SsvYZn0vqvTk8','8781804894.55','3277896.95','ULsAwUwU6b'

或雙引號數據like.it也可能在雙引號內包含逗號,需要用雙引號分隔。

"name","Barcode","SecundaryKey","category","description","supplier","quantity","price","discountprice","shortname"
"qep glass, cutting,    blade","679976","8uDyHo8b","veJfgpim","nIxcT5ge2gIj","SmwQk","5qNOIvBmM3","2388127046.04","919372222.24","5VG2Yj4LgXop"
"rsr soldering station","892595","wflH6uknV7wb0M","NO72OTdjTSFx2","DLlpVgOyvqc","b8Bddyi","FctnER","3626684222.94","720238132.30","rZ2"

或沒有只需要用逗號分隔的引號。

SecundaryKey,Supplier,Name,Quantity,Barcode,IsTop,IsScannable,Category,Description,Price,DiscountPrice,Message,ShortName,ImageUrl
1001,Honig,Chinese Kippensoep 56 g,78 gram,,1,1,,none,1000,100,,Honig,http://www.janlinders.nl/system/html/8714700447c7.png
1002,Cote d'Or,Puur 200 g,200 gram,,1,0,,,9000,50,,,http://www.janlinders.nl/system/html/5410081w_1_bb-66c69fc6.png

這里的問題就像這三個操作都可能在CSV文件中一樣,因為這是最終用戶上傳。 如何使用正則表達式合而為一地處理這些情況。 我曾嘗試過,但僅適用於單引號和雙引號,沒有引號的則不是三合一。 謝謝。

如果您堅持使用regular expressionsRegex.Split可以為您完成此工作:

 var words = Regex.Split(text1, @"[''"",]").Where(w=>!string.IsNullOrEmpty(w)).Select(w=>w.Trim());

我相信它是按逗號,單引號或雙引號分隔的。 它還會刪除空結果。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM