日本語プログラミング言語なでしこの公式掲示板

なでしこ1 質問

トップ 新規 検索

2023-11-09 17:27:28

配列の特定の行を削除する方法について

puu101 さん

エクセルの対象セルの中に複数の文字があります。
該当リストのコードに該当する場合その行は削除しようとプログラムを考えておりますが
うまくいかないので、誰かお教えいただけないでしょうか。

対象セルの各行は前半に半角スペースで区切られたコードがあります。
そのため正規表現マッチでコードを抜き取ります。
その後該当リストの配列にそのコードがあるかを検索します。
当初、検索し該当するならば、配列削除でその行を消そうとしていました。
しかし該当する行を削除してしまうと反復の回数と、処理する行が不一致になることから
末尾に削除するフラグzzzzzをつけ
https://w.atwiki.jp/isoroku_be/pages/190.html
上記の●一括配列行削除 関数で対象セルの中で削除フラグがついている行を削除することを考えました。

下記を実行した場合
4行目の"25 あまだい"にも(部品コード25で、該当リストに存在するため)削除フラグがつくことを期待しのですが
削除フラグは付与されません。

どなたか解決方法を教えていただけないでしょうか。
また、配列の中で特定の行を逐次消すいい方法はあるのでしょうか?



***********プログラム***********
対象セル内容=「04 にしん
99 いぬ
87 さる
25 あまだい」

該当リスト=「01
04
07
20
25



対象セル内容を反復
対象セル内容\(回数-1)を「^([^ ]*)」で正規表現マッチ
「部品コードは{それ}」を表示する
該当リストの0からそれを配列検索
「該非判定結果{それ}」を表示する
もし、それ=-1でなければ  #NFEとNFDTではない場合
対象セル内容\「処理行」にzzzzzを追加する
「****************」を表示する


対象セル内容を表示する

***********ここまで***********

(編集パスワード送信)

親記事

この内容(No.1747)に返信

この内容(No.1747)をダウンロード

この内容(No.1747)のテキスト表示

子記事

1752 Re①:配列の特定の行を削除する方法について (23-11-11)
1751 Re②:配列の特定の行を削除する方法について (23-11-10)
1748 Re①:配列の特定の行を削除する方法について (23-11-10)




www.eznavi.net