カンマで区切られたテキストファイルのデータを読み込もうとしています。私の問題は、私のデータの1つにコンマが含まれていることです。テキストファイルの例は次のとおりです。
a, b, "c, d", e, f.
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
これは、引用符内のコンマだけでなく、次のすべてのコンマをセミコロンに置き換えています。誰かが私の既存のコードを修正するのを手伝ってもらえますか?