C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: txtファイルの1列目のみを取得したい


(過去ログ 148 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■86593 / inTopicNo.1)  txtファイルの1列目のみを取得したい
  
□投稿者/ sazzu (1回)-(2018/02/19(Mon) 19:24:01)

分類:[C#] 

C# VS2010使用

txtファイルの1列目のみを取得したい

111 aaa
222 bbb
333 ccc
444 ddd
555 eee
666 fff
・ ・
・ ・
・ ・

というようなないようのテキストファイルがあり、この1列目のみを取得したいです。

using (StreamReader sr = new StreamReader(@"C:\sample.txt"))
{
// ファイルから一行ずつ読み込む
while ((line = sr.ReadLine()) != null)
{
string[] sLine = line.Split(',');

こんな感じで、ファイルを取得はできるのですが、やりたいことは、1列目のみの取得です。
ヘッダもないので指定もしてやれません。
どうすれば1列目のみのデータを取得できますか?
引用返信 編集キー/
■86594 / inTopicNo.2)  Re[1]: txtファイルの1列目のみを取得したい
□投稿者/ 魔界の仮面弁士 (1570回)-(2018/02/19(Mon) 19:42:05)
No86593 (sazzu さん) に返信
> txtファイルの1列目のみを取得したい

1 列目と 2 列目は、何で区切られているのですか?


// 何らかの空白文字(Char.IsWhiteSpace)で区切られている場合
string[] result0 = File.ReadLines(@"C:\temp\test.txt").Select(s => s.Split(null, 2)[0]).ToArray();

// タブ区切りの場合
string[] result1 = File.ReadLines(@"C:\temp\test.txt").Select(s => s.Split(new char[] { '\t' }, 2)[0]).ToArray();

// 半角空白区切りの場合
string[] result2 = File.ReadLines(@"C:\temp\test.txt").Select(s => s.Split(new char[] { ' ' }, 2)[0]).ToArray();

// 固定長レコードの先頭 3 文字を取り出す場合
string[] result3 = File.ReadLines(@"C:\temp\test.txt").Select(s => s.Substring(0, Math.Min(3, s.Length))).ToArray();
引用返信 編集キー/
■86595 / inTopicNo.3)  Re[1]: txtファイルの1列目のみを取得したい
□投稿者/ WebSurfer (1423回)-(2018/02/19(Mon) 19:43:53)
No86593 (sazzu さん) に返信

while ループで回さないで、一回だけ ReadLine すればよいのでは?
引用返信 編集キー/
■86596 / inTopicNo.4)  Re[2]: txtファイルの1列目のみを取得したい
□投稿者/ YAS (1回)-(2018/02/19(Mon) 21:07:25)
正規表現で行頭だけ抜くとかどうですか。
(すいません。コードはVBです。)

Regex.Matches(My.Computer.FileSystem.ReadAllText("C:\sample.txt"), "^.", RegexOptions.Multiline)
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -