複数行文字列: 行数の取得
Multiline String: Get Number of Lines
テキストの行数を取得します。末尾の改行コードをカウントしない行数も取得可能です。
Configs for this Auto Step
- conf_DataIdA
- A: 複数行テキストが格納されている文字列型データ項目を選択してください *
- conf_DataIdB
- B: 行数が格納される数値型データを選択してください (更新)
- conf_DataIdC
- C: 末尾改行コードを無視した行数が格納される数値型データを選択してください (更新)
Script (click to open)
// Script for 'engine type: 3' ("GraalJS standard mode")
// cf 'engine type: 2' renamed from "GraalJS" to "GraalJS Nashorn compatible mode" (at 20230526)
//////// START "main()" ////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const dataIdA = configs.get( "conf_DataIdA" ) + ""; // config required
const dataIdB = configs.get( "conf_DataIdB" ) + ""; // config not required
const dataIdC = configs.get( "conf_DataIdC" ) + ""; // config not required
//// == Data Retrieving / ワークフローデータの参照 ==
// Run-time Data Format Check
if( engine.findDataByNumber( dataIdA ) === null ){
throw new Error( "\n AutomatedTask UnexpectedStringError:" +
" String {A} is null \n" );
}
const inputText = engine.findDataByNumber( dataIdA ) + "";
const inputText2 = inputText.replace(/[\n]*$/, "");
//// == Calculating / 演算 ==
const arrInputText = inputText.split("\n");
engine.log( " AutomatedTask MultilineString:" +
" String {A}, number of lines " + arrInputText.length );
const arrInputText2 = inputText2.split("\n");
engine.log( " AutomatedTask MultilineString:" +
" String {A}, number of lines trimmed " + arrInputText2.length );
//// == Data Updating / ワークフローデータへの代入 ==
if ( dataIdB !== "" ){
engine.setDataByNumber( dataIdB, new java.math.BigDecimal( arrInputText.length ) );
}
if ( dataIdC !== "" ){
engine.setDataByNumber( dataIdC, new java.math.BigDecimal( arrInputText2.length ) );
}
} //////// END "main()" ////////
Download
- Multiline-String-Get-Number-of-Lines-2023.xml
- 2023-08-03 (C) Questetra, Inc. (MIT License)
(アドオン自動工程のインストールは Professional editionでのみ可能です)
Notes
テキストの行数を取得します
Capture
