プロセルピナ | ||||||||||
Top |
Internet |
Private Proxy |
Capture Device |
Download |
Config and Words |
Online Help |
Online Home |
|||
[BACK] | |||||||
☞
Top >
Proserpine Macro >
Commands >
file randomLine
ファイルからランダムに1行(または複数行)を選択file randomLine: (Parameters) 【Parameters】 dir= string, ファイルパス file= string, ファイル名 encode= string, ファイルエンコード (Optional) count= int, 取得行数 O:str= string, 取得行の設定先 O:count= int, 取得後、元ファイルに残った行数 (Optional) delete flag, 取得した行は元ファイルから削除 (Optional) O:result= string, 処理結果 expand= string, expand表記の場合の展開を指定 (Optional) exceptional_chars= string, この文字集合に含まれる文字を含む行は選択から除外 (Optional) latter= string, 取得行のうち、このパラメータで指定された文字列以降を使用 (Optional) remove_between= string, 取得行から『~』間の文字列を削除 (Optional) ファイルは dir= と file= で指定します。 フルパスで指定する場合は file= だけで指定します。 dir= と file= のパラメータによるファイルの指定 指定されたテキストファイルから、 count=で指定した行数だけランダムに取得します。 取得した行をファイルから削除するときは、 delete を指定します。 入力ファイルのエンコードは encode= で指定します。例えば、 encode="Shift_JIS" のように記述します。 encode=指定を省略した場合、入力ファイルの先頭行にエンコードタイプが記述されているものとして扱います。 記述が無かった場合(つまり、先頭行をエンコード指定行として解釈できなかった場合)は、 デフォルトの UTF-8 でデコードします。 encode= を指定したときは、ファイルにエンコード指定行が無いものとして扱います。 つまり、ファイルの全行が、ランダム選択の対象です。 encode= を指定しなかったときは、ファイル先頭行をエンコード指定行として扱います。 エンコード指定行はランダム選択の対象外です。 delete を指定したときはファイルの行数が取得した分だけ減少します (元ファイルが編集されます)。 ファイルに残った行数を取得するには、O:count= で数値変数を指定します。 ランダム選択された文字列は、O:str= で指定した文字列変数に設定されます。 複数行ある場合は、改行(CR,LF)区切りになります。 expand= は、ファイル内の文字列が expand表記 されている場合に指定します。 指定は、開始文字、区切り文字、終了文字の3文字で行います。 取得した行が {AAA|BBB} ZZZZ の場合に、expand="{|}" を指定すると、文字列は、 AAA ZZZZ に展開されます。 このコマンドでは常に先頭要素(上記例でAAA)を使用した展開になります。 ランダム選択から除外したい行は、特定の 文字(または記号) を行内に含ませておき、その文字を exceptional_chars=パラメータ で指定します。 exceptional_chars= には 文字または文字の集合 を指定します(つまり文字列で指定)。 例えば、記号 @ または ? を含む行を選択しないようにする場合は、 exceptional_chars="@?" と指定します。 latter= で指定した文字列以降を使用します。指定された文字列が取得行に含まれない場合、取得行に変化はありません。 指定した範囲(文字と文字の間、または文字列と文字列の間)を削除したい場合は remove_between= で指定します。 『~』間を削除するには、 remove_between="『』" を指定します。 {{ ~ }} 間を削除するには、 remove_between="{{}}" を指定します。この様に、文字列の前半と後半とに分けて使用されます。 remove_between= は、latter= を処理した後に処理されます。 コード例次の例では、デスクトップのファイル test.txt から、ランダムに3行取得し、それを文字列変数 str[99] に設定しています。 deleteオプションが指定されているので、元ファイルは3行減ります。 |
|||||||
[BACK] | |||||||
プロセルピナ |