複数行文字列, テキスト検索 (Multiline String, Search by Text)
任意の検索テキストで複数行の文字列を検索します。複数行文字列の中に検索テキストと完全一致する行があれば出力されます。
Configs
  • A: 複数行文字列が格納されている文字列型データ項目を選択してください *
  • B: 検索テキストをセットしてください *#{EL}
  • C: マッチした文字列が格納される文字列型データを選択してください (更新) *
Script (click to open)
// GraalJS Script (engine type: 2)
// (c) 2021, Questetra, Inc. (the MIT License)


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

//// == Config Retrieving / 工程コンフィグの参照 ==
const dataIdA    = configs.get( "conf_DataIdA" ) + "";     // config required
const searchText = configs.get( "conf_SearchText" ) + "";  // config required
const dataIdC    = configs.get( "conf_DataIdC" ) + "";     // config required

if( searchText === "" ){
  throw new Error( "\n AutomatedTask ConfigError:" +
                   " Config {Search Text} is empty \n" );
}


//// == Data Retrieving / ワークフローデータの参照 ==
const inputString = engine.findDataByNumber( dataIdA ) + "";
const arrInputString = inputString.split("\n");
engine.log( " AutomatedTask MultilineString:" + 
            " String {A}, number of lines: " + arrInputString.length );


//// == Calculating / 演算 ==
let   outputString = "";
for( let i = 0; i < arrInputString.length; i++ ){
    if( searchText === arrInputString[i] ){
      outputString += arrInputString[i];
      break;
    }
}

//// == Data Updating / ワークフローデータへの代入 ==
if( outputString === "" ){
  engine.log( " AutomatedTask DataUpdating: Output Text empty" );
}
engine.setDataByNumber( dataIdC, outputString );

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

Download

2021-11-12 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/multiline-string-search-by-text/
Addonファイルのインポートは Professional でのみご利用いただけます
自由改変可能な JavaScript (ECMAScript) コードです。いかなる保証もありません。

Notes

想定用途は、(「マスターテーブル, 選択肢データを取得」で取得した)文字型複数行のデータに指定した文字列に完全一致する行が含まれているかの確認です。

Capture

%d人のブロガーが「いいね」をつけました。