zoukankan      html  css  js  c++  java
  • 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         }
  • 相关阅读:
    override 和 重载的区别? Kevin
    EntityFramework SaveChange()方法不能更新的问题 Kevin
    Visual Studio 2010中找不到 entity framework模版 Kevin
    在数据库发生更改时更新 .edmx 文件(MSDN) Kevin
    MVC 3 RoutingSystem Kevin
    用递归的方法计算第30位斐波那契数列的值 Kevin
    log4net的日志输出格式log4net.Layout.PatternLayout用法 Kevin
    JavaScript: The Definitive Guide, 6th Edition Chapter 1 Note 1 Kevin
    闲谈生意人、商人和企业家的区别
    stlport 5.10 编译 更加容易了(visual studio 2005)
  • 原文地址:https://www.cnblogs.com/Jenny90/p/2969267.html
Copyright © 2011-2022 走看看