前回の記事「Bot Storeで新しい機能を追加しよう!」でBot Store上から拡張機能を簡単に追加する方法を紹介しました。この方法を使って、さっそくよく使われる処理を追加していきたいと思います。
今回は、文字列/数値処理でよく使われるAA純正の6つのMeta Botを紹介します。
- Perform String and Number Operations
- Perform Japanese Utilities
- Email Address Validator
- Remove HTML Tags
- Perform Various Math Operations
- Translator Metabot
Perform String and Number Operations
文字種の判別、変換、書式変更や数字を処理する10個の追加のコマンドを提供します。
算術処理
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Arithmetic Operations on Numbers |
Input_Number_1:引数1 Input_Number_2:引数2 Arithmetic_Operation:演算子 Number_of_Decimals_in_Result:出力先の小数点以下の桁数。 |
Result:出力先の変数 | 演算子を使った算術演算を行います。演算子に指定できるもの="+-*/" |
IsPositive | InputString:引数 | Result:出力先の変数 | 引数が正の値かどうかを判定します。(True/False)文字列の場合もFalseになります。 |
文字列処理
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Add Zeroes before a Number |
Input_Number:引数 Desired_Length_Including_Zeroes:出力の桁数 |
Result:出力先の変数 | 桁数が指定したものになるよう、数字の前を0で埋めた文字列を返します。(ex. 4桁なら"0100") |
Convert Number to Currency |
Culture_Name:引数 Input_Number:引数 |
Result:出力先の変数 | 指定したCulture_Nameの通貨で引数をフォーマットした文字列を返します。(ex. enなら$100) |
Convert Number to Text |
Input_Number:引数 IsIndianFormat:インド方言(true/false) |
Result:出力先の変数 | 引数の数字を、読み方の英単語に変換します。(ex: 100000 → One hundred Thousand) |
IsAlphanumeric | Input_Number:引数 | Result:出力先の変数 | 引数が英数字かを判別します。(True/False) |
IsDate | Input_Number:引数 | Result:出力先の変数 | 引数が日付かを判別します。(True/False) |
IsNumeric | Input_Number:引数 | Result:出力先の変数 | 引数が数字かを判別します。(True/False) |
IsSpecialCharacter | Input_Number:引数 | Result:出力先の変数 | 引数が記号かを判別します。(True/False) |
Remove Special Characters | Input_Number:引数 | Result:出力先の変数 | 引数から記号を取り除きます。 |
Arithmetic Operations on Numbersの例:
Input_Number_1="10", Input_Number_2="5"
Arithmetic_Operation="+", Number_of_Decimals_in_Result="2"
結果:"15.00"
Perform Japanese Utilities
半角/全角の変換、および日付書式の西暦/和暦の変換を行うことができます。
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
ToFullWidth | vInput:入力文字列 | vOutput:出力先の変数 | 半角文字で対応する全角文字があるものを全角文字に変更します。 |
ToGregorianCalendar |
vInput:日付/時刻文字列 vInputFormat:入力文字列の日付形式 vOutputFormat:出力文字列の日付形式 |
vOutput:出力先の変数 | 日付/時刻の書式を指定した西暦の書式に変更します。 |
ToHalfWidth | vInput:入力文字列 | vOutput:出力先の変数 | 全角文字で対応する半角文字があるものを半角文字に変更します。 |
ToJapaneseCalendar |
vInput:日付/時刻文字列 vInputFormat:入力文字列の日付形式 vOutputFormat:出力文字列の日付形式 |
vOutput:出力先の変数 | 日付/時刻の書式を指定した和暦の書式に変更します。(令和対応) |
ToFullWidthの例:
vInput="012345アイウエオabcde"
結果:"012345アイウエオabcde"
ToHalfWidthの例:
vInput="012345あいうえおアイウエオ"
結果:"012345あいうえおアイウエオ"
ToJapaneseCalendarの例:
vInput="09/02/2019 09:00:00 PM", vInputFormat="MM/dd/yyyy", vOutputFormat="ggy年M月d日"
結果: "令和元年9月2日"
Email Address Validator
文字列が電子メールアドレスとして正しいフォーマットかを検証します。
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
EmailAddressValidator | vEmailAddress:検証する文字列。 | vConfirm:出力先の変数 | vEmailAddressが電子メールアドレスとして正しいフォーマットかを検証します。(valid/invalid) |
Remove HTML Tags
入力した文字列からHTMLタグを取り去った文字列を出力します。入力文字列によってはエラーが発生する可能性があるので、Error Handlingを行ってください。
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
RemoveHTMLTags | vInputString:加工する文字列。 | vOutputString:出力先の変数 | 入力した文字列からHTMLタグを取り去った文字列を出力します。 |
例: 入力する文字列
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Roboto;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
-->
<p class="MsoNormal"><strong><u><span style="font-size:12.0pt;font-family:"Calibri",sans-serif;color:black">Effective:
</span></u></strong><strong><u><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">4/26/19</span></u></strong><u><span style="font-size:12.0pt;color:maroon"><o:p></o:p></span></u></p>
<p class="MsoNormal"><b>Effective: 1/29/19<o:p></o:p></b></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana",sans-serif">Effective Date: 2019 03 29
<br>
結果:
Effective:
4/26/19
Effective: 1/29/19
Effective Date: 2019 03 29
Perform Various Math Operations
端数処理、三角関数/逆三角関数/双曲線関数、累乗/平方根、最大値/最小値/絶対値など、19個の高度な数学の関数を提供します。その振る舞いは.NETの動作に準拠します。
端数処理
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Ceiling | vInput:入力値。 | vOutput:出力先の変数 | 切り上げた整数の値を得ます。 |
Floor | vInput:入力値。 | vOutput:出力先の変数 | 切り捨てた整数の値を得ます。(負の値の場合は元の値を超えない整数) |
Round |
vInput:入力値。 vDigits:入力値。 vMode:入力値。 |
vOutput:出力先の変数 | 最近接偶数丸め(vMode=0)/四捨五入(vMode=1)を小数点以下vDigitsの桁数を残すように行った数を得ます。 |
Truncate | vInput:入力値。 | vOutput:出力先の変数 | 切り捨てた整数の値を得ます。(負の値の場合は整数部分を返す) |
三角関数
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Sin | vInput:入力値。 | vOutput:出力先の変数 | 入力値のSin関数を得ます。引数はラジアン単位の角度を指定します。 |
Cos | vInput:入力値。 | vOutput:出力先の変数 | 入力値のCos関数を得ます。引数はラジアン単位の角度を指定します。 |
Tan | vInput:入力値。 | vOutput:出力先の変数 | 入力値のTan関数を得ます。引数はラジアン単位の角度を指定します。 |
逆三角関数
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Asin | vInput:入力値。 | vOutput:出力先の変数 | 入力値の逆Sin関数を得ます。戻り値としての角度はラジアンを使って -π/2 から π/2 までの範囲で表されます。 |
Acos | vInput:入力値。 | vOutput:出力先の変数 | 入力値の逆Cos関数を得ます。戻り値としての角度はラジアンを使って 0 から π までの範囲で表されます。 |
Atan | vInput:入力値。 | vOutput:出力先の変数 | 入力値の逆Tan関数を得ます。戻り値としての角度はラジアンを使って -π/2 から π/2 までの範囲で表されます。 |
Atan2 |
vInput1:入力値1。 vInput2:入力値2。 |
vOutput:出力先の変数 | 入力値の逆Tan関数を得ます。ATan(vInput2/vInput1)=ATan(vInput1, vInput2) vInput=0にできるのがATan関数との違いです。 |
双曲線関数
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Sinh | vInput:入力値。 | vOutput:出力先の変数 | 入力値のSinh関数を得ます。 |
Cosh | vInput:入力値。 | vOutput:出力先の変数 | 入力値のCosh関数を得ます。 |
Tanh | vInput:入力値。 | vOutput:出力先の変数 | 入力値のTanh関数を得ます。 |
累乗/平方根
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Pow |
vInput1:入力値1。 vInput2:入力値2。 |
vOutput:出力先の変数 | vInput1のvInput2乗の累乗を得ます。 |
Sqrt | vInput:入力値。 | vOutput:出力先の変数 | 平方根を得ます。 |
最大値/最小値/絶対値
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
Abs | vInput:入力値。 | vAbsValue:出力先の変数 | 絶対値を得ます。 |
Max |
vInput1:入力値1。 vInput2:入力値2。 |
vOutput:出力先の変数 | vInput1とvInput2のうち大きいほうを得ます。 |
Min |
vInput1:入力値1。 vInput2:入力値2。 |
vOutput:出力先の変数 | vInput1とvInput2のうち小さいほうを得ます。 |
Translator Metabot
Yandex 機械翻訳サービスに接続してテキストを翻訳します。90言語以上をサポートします1。
ロジック名 | Inputパラメータ | Outputパラメータ | 説明 |
---|---|---|---|
An easy translator Metabot |
vLangDetect:元の言語。指定しなくてもよいがその場合は空の変数を指定。 vLang:翻訳先の言語 (ex: en)。 vText:翻訳するテキスト。 |
vResult:出力先の変数 | vTextを指定した言語に翻訳します。 |
例1:
vLangDetect=(空の変数)
vLang="en"
vText="O robô detecta o idioma do documento, E traduz para o idioma que você quer."
結果:"The robot detects the languauge of the document, And translates it to the language you want."
例2:
vLangDetect=(空の変数)
vLang="ja"
vText="O robô detecta o idioma do documento, E traduz para o idioma que você quer."
結果:"ロボットを検出し語の文書を変換しい言語に対応しています。"