perlにてCSVファイルの中で特定の条件の時に
文字を削除する分を書きたいのですがうまくいかず困っております。
1111,11110000,4
2222,11110000,4
3333,11111100,2
4444,11000000,6
このようなデータで
3番目のフィールドを元に2番目のフィールドの文字を削除したいと思っております。
4の場合はお尻から4つの0を削除 → 1111,1111,4
2の場合はお尻から2つの0を削除 → 2222,111111,2
上記のデータですと最終的には以下のような形にしたいと思っております。
1111,1111,4
2222,1111,4
3333,111111,2
4444,11,6
お手数おかけしますがお力添えただけたら幸いです。
No.2ベストアンサー
- 回答日時:
べたでやるなら、こんな感じでしょうか。
while(<>){
chop;
@x = split(/,/,$_);
$len = length($x[1]) - $x[2];
$x[1] = substr($x[1], 0, $len);
}
あとはこんなやりかたも。
while(<>){
chop;
@x = split(/,/,$_);
for(1..$x[2]){
chop($x[1]);
}
}
ご回答いただきありがとうございました。
ご教授いただいた内容で無事解決いたしました。
また何かありましたら宜しくお願い致します。
No.1
- 回答日時:
まず, どこで困っているのでしょうか? 「どこまでできているのか」「何に困っているのか」を明確にしてください.
あと, 仕様が不明確です. 例えば
・3番目のフィールドが 3 のときに 2番目のフィールドのお尻から 7個が 0
とか
・3番目のフィールドが 6 のときに 2番目のフィールドのお尻から 3個が 0 (当然その前には 0 でないものがある)
とかのときにはどうすればいいのですか?
ご回答いただきありがとうございました。
また、説明不足で大変申し訳ございませんでした。
2番の方の回答でなんとか解決致しました。
また何かありましたら宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- PDF PDFソフト 1 2023/08/23 16:14
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Outlook(アウトルック) Outlookでメールをデリートキーで削除した場合における、メールの移動先フォルダを変更したい。 2 2022/10/31 00:53
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つ目のレコードの値を取得す...
-
フィールド名の指定でエラー
-
Accessのフィールド名に半角括...
-
アクセス 横スクロールの分割
-
accessでフィールド追加のあと...
-
SQLで複数のテーブルと結合した...
-
日付と文字列を条件としてDLook...
-
INT64対応のprintf系関数はあり...
-
フィールド名をループの添え字...
-
Access 2010で実行時エラー3061
-
rs.filterで、likeの検索ができ...
-
Access クエリで変数を参照する...
-
クリスタルレポートで文字列の...
-
ACCESS VBA Parametersで or演...
-
AccessのDAOでフィールド名を配...
-
VB.NETのOleDbCommandにて文字...
-
ACCESSで日別集計をする場合
-
NULLを含む文字列の結合で...
-
DataGridViewでのデータ抽出に...
-
FTPサーバーから受信したファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessでフィールド追加のあと...
-
INT64対応のprintf系関数はあり...
-
DataTableに特定のフィールドが...
-
Accessのフィールド名に半角括...
-
2つ目のレコードの値を取得す...
-
AccessのDAOでフィールド名を配...
-
クリスタルレポートで困ってい...
-
テーブルのデータ型の変更がで...
-
Access 2010で実行時エラー3061
-
日付と文字列を条件としてDLook...
-
2次元のdictionary
-
ACCESSで日別集計をする場合
-
Access VBA 添付型フィールド
-
SQLで複数のテーブルと結合した...
-
クリスタルレポートで文字列の...
-
ACCESSで視覚的タイムテーブル...
-
アクセス ADO Null以外のレコ...
-
アクセスでADO 並べ替えが適用...
-
AccessVBAで他テーブルのデータ...
-
オートナンバー型を抽出条件に...
おすすめ情報