プロが教えるわが家の防犯対策術!

以前c言語で同じような質問をして、とても有益な回答を頂きましたが、
今回c#でのコードの書き方をご教示いただければと思い、再度質問致します。

例えば以下のようなcsvファイルがあったとします。

ab1,ef2,ab3,af4,ab5
bb1,bf2,bb3,bf4
cb1,cf2,cb3,cf4,cb5
zb1,zf2,zb3,zf4,zb5


プログラムに"cb3"という文字列を探させて、その文字列を含む一行
"cb1,cf2,cb3,cf4,cb5"のみを読み込む方法を探しております。


現時点では以下のコードにてcsvファイルを丸々読み込んでおります。

private void LoadData()//csvファイルを読み込む
{
string path = "abc.csv";
string delimStr = ",";//区切り文字
char[] delimiter = delimStr.ToCharArray();//区切り文字をまとめる
string[] strData;//分解後の変数
string strLine; //1行分のデータ

Boolean fileExists = System.IO.File.Exists(path);
if (fileExists)
{
System.IO.StreamReader sr = new System.IO.StreamReader(
path,
System.Text.Encoding.Default
);

while (sr.Peek() >= 0)
{
strLine = sr.ReadLine();
strData = CsvToArrayList1(strLine)[0];
abc.abctable.AddabctableRow
(
strData[0],
int.Parse(strData[1])
);
} sr.Close();



}



c言語の時はstrstrで特定の文字を含む1行のみを取得できたのですが、
c#ではもっと良い方法があるのではと考えております、
お時間がありましたら是非教えてください。

皆様の丁寧な回答にいつも感謝しております。

A 回答 (1件)

http://homepage3.nifty.com/midori_no_bike/CS/

今回の件では必要ないかもしれませんが、C#では正規表現で検索できるのが興味深いと思います。
    • good
    • 0
この回答へのお礼

凄い情報量のページですね、
勉強になります!ありがとうございます。

お礼日時:2010/03/31 22:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています