はじめまして
Perl初心者です。
どうかご教示お願い致します。
20,a,12,34
19,a,12,34
18,a,12,34
17,a,12,34
16,a,12,34
15,a,12,34
14,a,12,34
13,a,12,34
12,asa,12,34
11,a,12,34
10,sasaa,12,34
9,a,12,34
8,asa,test,34asa
7,a,12,34
6,a,12,34
5,a,20,34
4,a,12,34
3,a,12,34
2,a,12,34
1,a,12,34
このようなCSVファイルがあり
1列目が「asa] 2列目が[test]
が一致する、3列目[34asa]を抽出させたいのですが
どのようにするのでしょうか?
No.4
- 回答日時:
1行をsplitで分割し1列目と2列目を比較すればよいかと。
while(<>){
@elm = split(/,/);
if ($elm[1] eq 'asa' && $elm[2] eq 'test'){
print $elm[3],"\n";
}
}
表示させることができました!
もう1つ教えてほしいです。
もし、テキストにそれらが該当しない場合
elsif($elm[1] ne 'asa' || $elm[2] ne 'test'){
print "検索結果はありません";
}
このようにもしたいのですが、これをifの後ろに入れて実行すると
検索結果はありませんが大量に表示されてしまいます。
どのように対処すればいいのでしょう・・・?
No.1
- 回答日時:
>1列目が「asa] 2列目が[test]
>が一致する、3列目[34asa]
一番左の列は0列目という意味でしょうか?
また列は4列固定で増減することはないでしょうか?
セパレータの「,」は特殊な条件で文字列としてつかうことはないですか?
上記条件がクリアになるならざっくり・・・
/(?<=,asa,test,).+/
でヒットさせればよいかと思います
ご回答ありがとうございます;;
1番左は0です!
「,」などの記号系は、入力しない(入力させないよう)にしております
yambejp様がご掲示くださった/(?<=,asa,test,).+/
では、1列目と2列目のみヒットなのですが、
1列目と3列目をヒットさせ、2列目を抽出という形もしたいです・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA EXCEL あるセルの中の一...
-
バッチファイルの正規表現を利...
-
「何とかで始まり、何とかで終...
-
正規表現について
-
正規表現の否定先読みで、複数...
-
文字列から数値を抽出したいの...
-
正規表現で
-
ASP言語での正規表現の書き方
-
正規表現 英数字を1つ以上含む...
-
CSVファイルの中で、「 , 」カ...
-
住宅にカナを入力する際に丁目...
-
VBA 文字に半角が含まれて...
-
パイソンエラーについて
-
エクセルで数値を全角文字(カ...
-
pythonエラー
-
英数字のみ全角から半角に変換
-
GoogleAppsScript文字列置換の...
-
マクロを使ってフォルダー内に...
-
パス区切りの文字について
-
CString から LPCTSTRの型に変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「何とかで始まり、何とかで終...
-
「abcで始まらない」を正規表現...
-
VBA EXCEL あるセルの中の一...
-
正規表現の否定先読みで、複数...
-
バッチファイルの正規表現を利...
-
角カッコが含まれてるかどうか...
-
正規表現 英数字を1つ以上含む...
-
C++でofstreamに空白を含む文字...
-
VBにおける文字列の部分一致検索
-
Perl CSVファイルの複数条件で...
-
XML::Xpathで部分一致検索をす...
-
指定した文字列を複数含むとい...
-
正規表現にて文字数をチェック...
-
正規表現について
-
CSVファイルの中で、「 , 」カ...
-
英数字のみ全角から半角に変換
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
住宅にカナを入力する際に丁目...
-
Excel VBAでPDFファイルをMicro...
おすすめ情報