複数行文字列: 行数の取得

複数行文字列: 行数の取得

複数行文字列: 行数の取得

translate Multiline String: Get Number of Lines

テキストの行数を取得します。末尾の改行コードをカウントしない行数も取得可能です。

Auto Step icon
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

warning 自由改変可能な JavaScript (ECMAScript) コードです。いかなる保証もありません。
(アドオン自動工程のインストールは Professional editionでのみ可能です)

Notes

テキストの行数を取得します

Capture

See Also

文字列: 全置換

コメントを残す

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

Questetra Supportをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

上部へスクロール