从CSV文件读取的字符串中删除“ \”-C#

时间:2019-12-30 21:40:29

标签: c#

我在读取CSV文件时遇到问题,但在文件中看不到任何'\'。

当我用','分割字符串并将其存储到字符串变量中时,这就是字符串的样子。 "\"3040063816\""

整个字符串在分割之前就是这个

"\"3040063816\",\"123456789\",\"0.00\",\"0.00\",\"-95.99\",\"10/28/19\",\"09:04:11\",\"1\"\r"

如何从字符串中删除“ \”?

因为当我尝试将数字转换/解析为INT时,它给了我一个错误。 我试图替换(@“ \”,string.empty),但是它不起作用。

1 个答案:

答案 0 :(得分:1)

尝试以下方法。这应该可以帮助您。


    string input = "\"3040063816\",\"123456789\",\"0.00\",\"0.00\",\"-95.99\",\"10/28/19\",\"09:04:11\",\"1\"\r";
    List<string> stringArr = input.Split(',').Select(x => x.Replace(@"""", "")).ToList();

    Console.WriteLine(Convert.ToInt64(stringArr[0])); // This is a large number. Has to be int64.
    Console.WriteLine(int.Parse(stringArr[1]));
    Console.WriteLine(float.Parse(stringArr[2]));
    Console.WriteLine(float.Parse(stringArr[3]));
    Console.WriteLine(float.Parse(stringArr[4]));
    Console.WriteLine(DateTime.Parse(stringArr[5]));
    Console.WriteLine(DateTime.Parse(stringArr[6]));
    Console.WriteLine(int.Parse(stringArr[7]));

输出

3040063816
123456789
0
0
-95.99
10/28/2019 12:00:00 AM
12/30/2019 9:04:11 AM
1

字符串中的每个字符串都用双引号引起来。要删除它并使其成为数字表示形式,请在分割后将每个字符串中的引号删除。

Review this post用于转换大量数字以及可以转换成哪种格式。