人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

次のようなテキストデータを抽出するにはどうすればいいでしょうか?実際にやりたいことはもっと複雑で長いデータです。

抽出したいデーターはcccの行です。

a1
bbb 20
ccc 30
a2
bbb 20
ccc 31
a3
bbb 20
ccc 29



●質問者: mai_mai_mail
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 風野妖一郎
●100ポイント

質問者さんの実行環境が分からないので複数のパターンを回答しておきます。

抽出だけでよいのならば秀丸などの正規表現が使えるテキストエディタで検索(秀丸では「検索→grep実行」)で「正規表現」を有効にして検索語に
^ccc.*
と入ればヒットします(自動的に一行づつ出力してくれるが、ファイル名(行数)という余計なものが付いてくる)

出力まで考えると
・コマンドプロンプトの場合→既出のfindコマンドの回答を参照
・phpでテキストファイルを処理したい場合


// ファイル読み込み
$file = file_get_contents('data.txt');

// 改行ごとに文字列を配列に格納
$text = explode("\n",$file);

$pattern ="^ccc.*";
$output = array();
for($i = 0; $i <= count($text) - 1; $i++){
if(ereg($pattern,$text[$i])){
$output[] = $text[$i];
}
}

//画面に出力
print_r($output);

//ファイルに出力
$fp=fopen("output.txt","w");
foreach ($output as $a){
fputs($fp,$a."\n");
}
fclose($fp);

で、いけるでしょう(テストはしてません)

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ