我在读取CSV文件时遇到问题,但在文件中看不到任何'\'。
当我用','分割字符串并将其存储到字符串变量中时,这就是字符串的样子。
"\"3040063816\""
整个字符串在分割之前就是这个
"\"3040063816\",\"123456789\",\"0.00\",\"0.00\",\"-95.99\",\"10/28/19\",\"09:04:11\",\"1\"\r"
如何从字符串中删除“ \”?
因为当我尝试将数字转换/解析为INT时,它给了我一个错误。 我试图替换(@“ \”,string.empty),但是它不起作用。
答案 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用于转换大量数字以及可以转换成哪种格式。