●一括配列行削除

情報

作者名:serica
引用元:自作

概要

正規表現一致で一致する要素を配列から一括削除する関数。
対象の配列を書き換える。

解説

標準関数の「正規表現ピックアップ」と対になる物として作成した物で、
「正規表現ピックアップ」が指定パターンに一致する要素だけ抽出し別配列を作成するのに対し、
この関数は指定パターンに一致する要素を元配列から直接削除する物。

処理的には配列の各要素を順に正規表現で判定していき、条件を満たせば要素を削除するだけ。

同じ引数(配列とパターン)で、「正規表現ピックアップ」→「一括配列行削除」の順番で実行すれば、
パターンの一致と不一致で、配列を2つに分けた形になるハズ。

返り値

無し({参照渡し}の為)

サンプルプログラム

パターン画像=「.*([Bb][Mm][Pp]|[Jj][Pp][Gg]|[Pp][Nn][Gg])」
暫定配列A=「123.BMP
123

456.jpg
465

789.png
789」


//①パターンの正規表現に一致する拡張子で終わる行が削除される。
//①結果「123,【空行】,465,【空行】,789」
暫定配列=暫定配列A
暫定配列からパターン画像を一括配列行削除
暫定配列を言う

//②パターンとして【「」】や【空】を直に指定すれば空行と一致して削除される。
//②結果「123.BMP,123,456.jpg,465,789.png,789」
暫定配列=暫定配列A
暫定配列から「」を一括配列行削除
暫定配列を言う


本体

●一括配列行削除({参照渡し}対処配列から|対処配列の,対処パターンを)
  cとは整数=0。LMとは整数=対処配列の要素数。
  (c<LM)の間
    もし(対処配列[c]を対処パターンで正規表現一致)=はいならば
      対処配列のcを配列削除。LMから1を直接引く
    違えば
         cに1を直接足す

名前:
コメント:
初めてUPするのでプレビュで行頭がガタついたりと…うまく記載できたか心配です。
又、引数をアルファベットにするの苦手なので、見苦しければどなたか書き換え願います。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年10月20日 14:02
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。