Multiline String, Search by Text

Multiline String, Search by Text
Searches a multiple-line string with any search text. Only lines that exactly matches the search text are output.
Configs
  • A: Select STRING DATA for Multiline String *
  • B: Set Search Texts *#{EL}
  • C: Select STRING DATA for Matched String (update) *
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/addons/multiline-string-search-by-text/
The Add-on import feature is available with Professional edition.
Freely modifiable JavaScript (ECMAScript) code. No warranty of any kind.

Notes

  • The intended use is to check if the String-type (multiple lines) data (retrieved by [Master Table, Get Options Data]) contains rows that exactly match the specified string.

Capture

Discover more from Questetra Support

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top