• Cast string to arrayRead data from CSV file


    View Code
     1         public static string[] casttoarray(string strLine)
     2         {
     3             List<string> parsedData = new List<string>();
     4             bool tokenInQuotes = false;
     5             bool tokenContinued = true;
     6             string temp_println = "";
     7             string printLine = null;
     8 
     9             if (strLine.Trim() != null)
    10             {
    11                 // Cycle Each Character
    12                 foreach (char character in strLine)
    13                 {
    14                     if (tokenContinued == true)
    15                     {
    16                         temp_println = printLine;
    17                         printLine = temp_println;
    18                     }
    19                     // Split Tokens At The Commas
    20                     if (character == ',')
    21                     {
    22                         if (tokenInQuotes == false)
    23                         {
    24                             //strip starting quotation
    25                             if (!string.IsNullOrEmpty(printLine) && printLine.StartsWith("\""))
    26                                 printLine = printLine.Substring(1, printLine.Length - 1);
    27 
    28                             //strip ending quotation
    29                             if (!string.IsNullOrEmpty(printLine) && printLine.EndsWith("\""))
    30                                 printLine = printLine.Substring(0, printLine.Length - 1);
    31 
    32                             //replace any double quotations with single quotation
    33                             if (!string.IsNullOrEmpty(printLine))
    34                                 printLine = printLine.Replace("\"\"", "\"");
    35 
    36                             parsedData.Add(printLine);
    37                             printLine = null;
    38                             tokenContinued = false;
    39                             temp_println = null;
    40                         }
    41                         else if (tokenInQuotes == true)
    42                         {
    43                             printLine += character;
    44                             tokenContinued = true;
    45                         }
    46                         continue;
    47                     }
    48 
    49                     if (character == '\"')
    50                     {
    51                         // Check For Start Of Quotation
    52                         if (character == '\"' && tokenInQuotes == false)
    53                         {
    54                             tokenInQuotes = true;
    55                             printLine += character;
    56                             tokenContinued = true;
    57                             continue;
    58                         }
    59 
    60                         // Check for end of Quotations
    61                         else if (tokenInQuotes == true && character == '\"')
    62                         {
    63                             tokenInQuotes = false;
    64                             printLine += character;
    65                             tokenContinued = false;
    66                             continue;
    67                         }
    68                     }
    69 
    70                     // Handle all other characters
    71                     if (character != '\"' && character != ',')
    72                     {
    73                         printLine += character;
    74                         continue;
    75                     }
    76                 }
    77                 if (tokenContinued == false)
    78                 {
    79                     //strip starting quotation
    80                     if (!string.IsNullOrEmpty(printLine) && printLine.StartsWith("\""))
    81                         printLine = printLine.Substring(1, printLine.Length - 1);
    82 
    83                     //strip ending quotation
    84                     if (!string.IsNullOrEmpty(printLine) && printLine.EndsWith("\""))
    85                         printLine = printLine.Substring(0, printLine.Length - 1);
    86 
    87                     //replace any double quotations with single quotation
    88                     if (!string.IsNullOrEmpty(printLine))
    89                         printLine = printLine.Replace("\"\"", "\"");
    90 
    91                     parsedData.Add(printLine);
    92                     printLine = null;
    93                     temp_println = null;
    94                 }
    95             }
    96             return parsedData.ToArray();
    97         }
  • 相关阅读:
    【笔记】rocketMQ了解
    【笔记】正则表达式·记②贪婪匹配、非贪婪匹配、独占模式和量词
    source 1.5 中不支持 diamond 运算符(中文版idea)
    【笔记】Linux基础指令
    maven BUILD FAILURE
    SELECT...FROM 表 a,( SELECT...FROM...WHERE...) tc...的一些注意
    dbeaver导出结果集中乱码
    【笔记】正则表达式·记①元字符
    maven报错:501 HTTPS Required
    【笔记】正则表达式·记③分组与引用
  • 原文地址:https://www.cnblogs.com/Jenny90/p/2969267.html
Copyright © 2020-2023  润新知