- ベストアンサー
行を返す関数
CSVファイル等で複数行にわたって(約500件程度)データがあります。 ある文字列を含む行を返す関数が知りたいです。 フォーム等からK047B1という文字列が入力された場合、 ・・・・ K047B1,少年A,北海道,・・・ K032D2,少年B,沖縄,・・・ ・・・・ というデータ群のファイルの K047B1の行を返す関数です。 関数が無い場合、簡単な例で回答を頂けると幸いです。 ちなみに データ群の最初の文字列は重複しない番号で、 数字と英語が混じってます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
データを丸々配列に入れておき、 $hit = grep(/^K047B1/,@data); かな? 最近触ってないので重大な間違いがあるかもしれませんが、 単純にgrepで抜き取るのが良いかと。
その他の回答 (1)
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.2
普通に正規表現で引っかければ良いのでは。 perl -ne 'print if /^K047B1/' a.csv みたいに。
質問者
お礼
grepと正規表現を使って抜き出すことが出来ました。 有難うございます。
お礼
grepと正規表現を使って抜き出すことが出来ました。 有難うございます。