我正在尝试读取以逗号分隔的文本文件中的数据。我的问题是我的一个数据片段中有一个逗号。文本文件的示例如下:
a, b, "c, d", e, f.
我希望能够在 and 之间使用逗号c
并将d
其更改为分号,以便我仍然可以使用该string.Split()
方法。
using (StreamReader reader = new StreamReader("file.txt"))
{
string line;
while ((line = reader.ReadLine ()) != null) {
bool firstQuote = false;
for (int i = 0; i < line.Length; i++)
{
if (line [i] == '"' )
{
firstQuote = true;
}
else if (firstQuote == true)
{
if (line [i] == '"')
{
break;
}
if ((line [i] == ','))
{
line = line.Substring (0, i) + ";" + line.Substring (i + 1, (line.Length - 1) - i);
}
}
}
Console.WriteLine (line);
}
我有问题。而不是生产
a, b, "c; d", e, f
它正在生产
a, b, "c; d"; e; f
它将以下所有逗号替换为分号,而不仅仅是引号中的逗号。有人可以帮我修复我现有的代码吗?