文字列, 単語数の取得
文字列, 単語数の取得 (String, Get Number of Words)
テキスト内の単語数を取得します。空白(タブや全角空白や改行も含む)で区切られた単語がカウントされます。カンマやピリオド等を区切り文字に含めてカウントした単語数も取得可能です。
Configs
  • A: 文字列をセットしてください *#{EL}
  • B: 単語数が格納される数値型データを選択してください (更新)
  • C: カンマやピリオド等も空白と見なした場合の単語数が格納される数値型データを選択してください (更新)
Script (click to open)

// GraalJS Script (engine type: 2)
// 
// Notes:
// Consecutive blanks (including tabs etc) are recognized as one blank in advance.
// Double quotes and single quotes have been removed in advance.
// Whitespaces at both ends have been removed in advance.
// Use C if you want to consider commas as delimiters.
// comma, period, semicolon, colon, question mark, exclamation mark
//
// Notes (ja):
// 連続する空白(改行・全角空白等も含む)は、あらかじめ全体で1つの空白と認識されます。
// ダブルクオートとシングルクオートは、あらかじめ除去されたものとします。
// 先頭と末尾の空白は、あらかじめ除去されたものとします。
// カンマ等も区切り文字と見なしたい場合はCを使用してください。
// カンマ、ピリオド、セミコロン、コロン、クエスチョンマーク、エクスクラメーションマーク


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

//// == Config Retrieving / 工程コンフィグの参照 ==
const strA    = configs.get( "conf_StrA" )    + ""; // required
const dataIdB = configs.get( "conf_DataIdB" ) + ""; // not required
const dataIdC = configs.get( "conf_DataIdC" ) + ""; // not required
if( strA === "" ){
  engine.log( " AutomatedTask StringWarning:" +
              " Config {A} is empty" );
}


//// == Data Retrieving / ワークフローデータの参照 ==
// (nothing)


//// == Calculating / 演算 ==
const strB = strA.replace(/\s+/g," ").replace(/("|')/g, "").trim();
const strC = strB.replace(/(\,|\.|:|;|\!|\?|\s)+/g, " ").trim();
// Note) Tab and double byte space are included in "\s" (UTF-8) 
// including space, tab, form feed, line feed, and other Unicode spaces.

const numB = strB.split(" ").length;
const numC = strC.split(" ").length;


//// == ワークフローデータへの代入 / Data Updating ==
if( dataIdB !== "" ){
  engine.setDataByNumber( dataIdB, new java.math.BigDecimal( numB ) );
}
if( dataIdC !== "" ){
  engine.setDataByNumber( dataIdC, new java.math.BigDecimal( numC ) );
}


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

Download

2021-07-15 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/string-get-number-of-words-2021/
Addonファイルのインポートは Professional でのみご利用いただけます

Notes

  1. 連続する空白(改行・全角空白等も含む)は、あらかじめ全体で1つの空白と認識されます。
  2. ダブルクオートとシングルクオートは、あらかじめ除去されたものとします。
  3. 先頭と末尾の空白は、あらかじめ除去されたものとします。
  4. カンマ等も区切り文字と見なしたい場合はCを使用してください。
    1. カンマ、ピリオド、セミコロン、コロン、クエスチョンマーク、エクスクラメーションマーク

Capture

See also

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