LaughingMan

Untitled

Oct 29th, 2020
672
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public static IEnumerable<string> SplitCSV(this string source, params string[] delimiters)
  2.         {
  3.             if (delimiters == null || !delimiters.Any())
  4.                 delimiters = new[] { ConfigurationManager.AppSettings["DefaultDelimiter"].IfNullOrWhiteSpace(",") };
  5.  
  6.             using (
  7.                 TextFieldParser parser = new TextFieldParser(new StringReader(source))
  8.                 {
  9.                     HasFieldsEnclosedInQuotes = true,
  10.                     TextFieldType = FieldType.Delimited,
  11.                     Delimiters = delimiters,
  12.                     TrimWhiteSpace = true
  13.                 })
  14.             {
  15.                 parser.SetDelimiters(delimiters);
  16.  
  17.                 while (!parser.EndOfData)
  18.                 {
  19.                     string[] fields = parser.ReadFields();
  20.  
  21.                     if (fields == null || !fields.Any())
  22.                         continue;
  23.  
  24.                     foreach (string field in fields)
  25.                         yield return field.Trim();
  26.                 }
  27.  
  28.                 parser.Close();
  29.             }
  30.         }
RAW Paste Data