単一行文字列, 複数行文字列のN行目をセット
単一行文字列, 複数行文字列のN行目をセット (Singleline String, Set Nth Line of Multiline)
複数行文字列の任意の1行を抽出し、単一行文字列データにセットします。行IDはゼロ始まりの整数で指定してください。行IDが未指定の場合、および範囲外の数字が指定された場合、複数行文字列の最終行が抽出されます。
Configs
  • A: 複数行文字列をセットしてください *#{EL}
  • B: 抽出行のIDをセットしてください (例 “0” )#{EL}
  • C: 抽出行が格納される文字列型データ項目を選択してください (更新) *
Script (click to open)
// GraalJS Script (engine type: 2)

//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main(){ 

//// == Config Retrieving / 工程コンフィグの参照 ==
const strCandidateLines    = configs.get( "StrConfA" );          /// REQUIRED ///////////
  if( strCandidateLines  === "" ){
    throw new Error( "\n AutomatedTask ConfigError:" +
                     " Config {A: String} is empty \n" );
  }
let   strExtractId         = configs.get( "StrConfB" );          //  not required ///////
      strExtractId         = strExtractId.replace(/,/g, '');
  engine.log( " AutomatedTask Config: LineId: " + strExtractId );
const strPocketExtracted   = configs.getObject( "SelectConfC" ); /// REQUIRED ///////////


//// == Data Retrieving / ワークフローデータの参照 ==
// (Nothing. Retrieved via Expression Language in Config Retrieving)


//// == Calculating / 演算 ==
let arrCandidateLines = strCandidateLines.split("\n");
let numLineId = parseInt( strExtractId, 10 );
if( isNaN(numLineId) ){
  numLineId = arrCandidateLines.length - 1;
}else if( numLineId < 0 ){
  numLineId = arrCandidateLines.length - 1;
}else if( numLineId > arrCandidateLines.length - 1 ){
  numLineId = arrCandidateLines.length - 1;
}
engine.log( " AutomatedTask numLineId: " + numLineId +
            " (" + arrCandidateLines.length + ")" );
let strExtracted = arrCandidateLines[ numLineId ];


//// == Data Updating / ワークフローデータへの代入 ==
engine.setData( strPocketExtracted, strExtracted );


} //////// END "main()" /////////////////////////////////////////////////////////////////

/*
Notes:
- When the process reaches the automated task, the Nth line in the multiline string is extracted.
    - You should specify Line-ID `N` as a zero-based integer.
    - If you want to extract the first line, specify "`0`".

APPENDIX:
- If the Line-ID contains commas, they will be removed and then parsed.
    - Parsing depends on JavaScript `parseInt()`.
- If a line with only line breaks is specified, the single line data will be overwritten with an empty string.

Notes-ja:
- 案件がこの自動処理工程に到達した際、複数行文字列(候補行リスト)内の第N行を自動的に抽出します。
    - 行ID `N` はゼロ始まりの整数で指定してください。
    - もし先頭行を抽出したい場合は "`0`" を指定します。

APPENDIX-ja:
- 行IDにカンマ(桁区切り文字等)が存在する場合、除去された文字列が解析されます。
    - 解析は JavaScript `parseInt()` に依存します。
- 改行のみの行が指定された場合には、単一行文字列データは空文字で上書きされます。
*/

Download

Addonファイルのインポートは Professional でのみご利用いただけます。
自由改変可能な JavaScript (ECMAScript) コードです。いかなる保証もありません。

Notes

  • 案件がこの自動処理工程に到達した際、複数行文字列(候補行リスト)内の第N行を自動的に抽出します。
    • 行ID N はゼロ始まりの整数で指定してください。
    • もし先頭行を抽出したい場合は “0” を指定します。

Capture

複数行文字列の任意の1行を抽出し、単一行文字列データにセットします。行IDはゼロ始まりの整数で指定してください。行IDが未指定の場合、および範囲外の数字が指定された場合、複数行文字列の最終行が抽出されます。
複数行文字列の任意の1行を抽出し、単一行文字列データにセットします。行IDはゼロ始まりの整数で指定してください。行IDが未指定の場合、および範囲外の数字が指定された場合、複数行文字列の最終行が抽出されます。

Appendix

See also

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d