文字列: 全置換
検索文字列を置換文字列に全置換します。大文字と小文字は区別されます。たとえばテンプレート文内の “XXXX-XX-XX” という文字列を “2020-05-11” に全置換することが可能です。
Configs for this Auto Step
- conf_StrA
- A: 文字列をセットしてください *#{EL}
- conf_StrSub
- B: 検索文字列をセットしてください *#{EL}
- conf_StrNew
- C: 置換文字列をセットしてください *#{EL}
- conf_DataIdD
- D: 置換後の文字列が格納される文字列型データ項目を選択してください (更新) *
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 strA = configs.get( "conf_StrA" ) + ""; // required
const strSub = configs.get( "conf_StrSub" ) + ""; // required
const strNew = configs.get( "conf_StrNew" ) + ""; // required
const dataIdD = configs.get( "conf_DataIdD" ) + ""; // required
engine.log( " AutomatedTask Search: " + strSub );
engine.log( " AutomatedTask Replacement " + strNew );
//// == Data Retrieving / ワークフローデータの参照 ==
// (nothing, except Expression Language config)
//// == Calculating / 演算 ==
// Escaping for a literal string search
// For a wider range of values, comment out and use Patterns with special characters
let myMatch = new RegExp( strSub
.replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&')
, 'g' ); // global match
let strOutput = strA.replace( myMatch, strNew );
//// == ワークフローデータへの代入 / Data Updating ==
engine.setDataByNumber( dataIdD, strOutput );
} //////// END "main()" ////////////////////////////////////////////////////////////////
// Notes:
- Regular expressions cannot be used in the search string.
- Can also replace strings that include line breaks and tabs.
// Notes (ja):
- 検索文字列の設定に正規表現は利用できません。
- 改行コードやタブコードを含む文字列も置換可能です。
Download
- String-Replace-All-2023.xml
- 2023-08-03 (C) Questetra, Inc. (MIT License)
(アドオン自動工程のインストールは Professional editionでのみ可能です)
Notes
- 検索文字列の設定に正規表現は利用できません。
- 改行コードやタブコードを含む文字列も置換可能です。
Capture
