使用String.Split()

时间:2015-11-29 15:52:35

标签: c# string csv split

我试图将一个字符串拆分成子部分以传入linq数据库,但我想出了一个问题。该文件是.csv文件,因此可以用逗号分隔:

  

1,Ms,Aleshia,Tomkiewicz,14 Taylor St,St。斯蒂芬斯沃德,肯特,CT2   7PP,01835-703597,atomkiewicz @ hotmail.com。

然而,有些数据在数据字段中包含逗号,例如县/地址用逗号分隔,但我不希望它分割,我希望它将所有数据保存在一起,例如地址:伦敦,温布尔登。< / p>

im using this code currently to do the chopping:


 public static List<string> ReturnCSVFromWeb(string url)
        {
            System.Net.WebClient client = new WebClient();
            string CSVContent = client.DownloadString(url);

            List<string> splitted = new List<string>();
            string csvFile = CSVContent;
            string[] tempStr;

            tempStr = csvFile.Split(',','\n');

            foreach (string item in tempStr)
            {
                if (!string.IsNullOrWhiteSpace(item))
                {
                    splitted.Add(item);
                }
            }

            return splitted;

        }

2 个答案:

答案 0 :(得分:6)

除非您提前知道哪些数据包含逗号,否则无法解决此问题。更好的选择是将csv中的每个条目都用双引号括起来,然后用逗号分隔

答案 1 :(得分:2)

如果行数已修复(N1)并且只有地址列包含逗号,则可以执行以下操作:

  1. 拆分行
  2. 在地址
  3. 之前选择N2
  4. 在地址
  5. 后面的最后M-N1-N2
  6. 从中间点击{{1}}列,加入它们 - 它是一个地址