エクスプレッション

エクスプレッションからは通常、テキストが求められます。たとえば、エクスプレッション

"The author of the book " + Book.title + " is " + Book.author + "." は、変数 Book.title と Book.author にテキスト "Gone with the Wind" と "Margaret Mitchell" がそれぞれ含まれている場合、テキスト "The author of the book Gone with the Wind is Margaret Mitchell." が求められます。

また、エクスプレッション内で数値を計算することもできます。たとえば、変数 Book.price に本の価格が含まれている場合、次のエクスプレッションを使用して、これに 100 を掛けることができます。

Book.price * 100

以下の表に、最も一般的に使用されるサブエクスプレッション タイプの概要を示します。利用可能なすべてのサブエクスプレッション タイプの完全な概要については、下記のリファレンスを参照してください。

テーブル 1. 一般的に使用されるサブエクスプレッション タイプ

サブエクスプレッション タイプ

表記

説明

テキスト定数

"text" または >>text<<

指定したテキスト (例: "Margaret Mitchell" または >>Margaret Mitchell<<) に評価します。

変数

variablename.attributename

指定した変数の値を求めます。たとえば、"Book.author" から "Margaret Mitchell" を求めます。

現在の URL

URL

現在のページの URL を求めます。

サブパターン マッチ

$n

関連付けられているパターンのサブパターンでマッチしたテキストを求めます (ある場合)。たとえば、これは以下のようにアドバンスド抽出データ コンバータで使用されます。$0 はパターン全体でマッチしたテキストを求めます。

関数

func(args)

指定した関数を指定した引数に渡し、その結果をテキストに変換して求めます。

引用符による表記または >>text<< 表記 (例: "Margaret Mitchell" または >>Margaret Mitchell<<) を使用してテキスト定数を指定できます。引用符による表記を使用し、引用文字がテキスト内に表示されるようにする場合、それを 2 つの引用符で記述する必要があります。たとえば、テキスト "This is some ""quoted"" text" を取得するには、"This is some "quoted" text" と記述します。>>text<< 表記を使用する場合、">>」と "<<" を除く、すべてのテキストを表示できます。そのため、>>This is some "quoted" text<< などのように、引用を直接記述することができます。>>text<< 表記は、HTML など、多くの引用文字が含まれている長いテキストに有用です。

以下の表に、エクスプレッションで最も一般的に使用される関数を示します。

関数

説明

toLowerCase(arg)

引数を小文字に変換します。

round(arg)

引数を整数に四捨五入します。

たとえば、エクスプレッション "The discount is " + round((Item.oldPrice - Item.newPrice) / Item.oldPrice) + "%." は、アイテムの古い価格が $99.95、新しい価格が $89.95 の場合、"The discount is 10%." が求められます。

リファレンス
エクスプレッション

エクスプレッション タイプ

表記

説明

定数

"text"

固定テキスト。

バックスラッシュ文字 (\) を使用すると、特殊文字を入力できます。

\n は改行

\r はキャリッジ リターン

\f はフォーム フィード

\t は水平タブ

\b はバックスペース

\」は二重引用符

\' は一重引用符

\\ はバックスラッシュ

\uxxxx は xxxx エンコードの Unicode 文字。xxxx は 4 つの 16 進数の値。

"This is some \"quoted\」text."

"This a text with line break\n, tab \t and a unicode \u0035 character"

定数

>>text<<

固定テキスト。この表記には引用符文字などあらゆるものを含めることができます。ただし、終了シンボル (<<) を除きます。バックスラッシュ (\) 文字は、特殊文字の入力に使用できません。

>>This is some "quoted" text.<<

変数

variable.attribute

変数

変数の値。変数がコンプレックス タイプの場合、属性の名前も必要になります。

Book.title +

整数

入力テキスト

INPUT

ある場合は、エクスプレッションへの入力テキスト。

INPUT

連結

expr1 + expr2

2 つのエクスプレッション expr1 および expr2 の連結。

"Title:"+ Book.title

サブパターン マッチ

$n

n > 0 の場合、パターン内のサブパターン n に一致するテキスト。n = 0 の場合、パターン全体に一致するテキスト。

注意:このエクスプレッションが意味を持つのは、エクスプレッションに関連するパターンがある場合に限ります。

$1

数式

演算子:+, -, *, /, %

数式の結果。

Book.price * 100

ブール式

演算子:&& (and), || (or)

ブール式の結果。

performTransactions && Book.price < 30

条件式

condition ? expr1 : expr2

条件の評価結果が true の場合、expr1 の値を使用します。そうでない場合は、expr2 の値を使用します。

Book.price < 30 ? "cheap" : "expensive"

等価

演算子:== (等しい)、!= (等しくない)

これらの演算子は、あらゆるタイプのオペランドで動作しますが、オペランドのタイプは同一である必要があります。たとえば、数値を整数と比較することはできません。

true == false

style != "none"

関係

演算子:< (未満)、<= (以下)、> (より大きい)、>= (以上)

関係演算子は、一方のオペランドが他方のオペランドより小さいか大きいかを判定します。

オペランドは整数タイプまたは数値タイプの数値で、エクスプレッション内のオペランドのタイプは同一である必要があります。

0 < 1

1.0 >= 0.0

関数

func(expr)

エクスプレッション expr の結果に適用される func 関数。利用できる関数については、このテーブルの後の「関数」のセクションを参照してください。

capitalize(Book.title)

現在の URL

URL

現在の URL

URL

現在のウィンドウ

WINDOW

現在のウィンドウの固有 ID。

WINDOW

ロボット名

Robot.name

ロボット名。

Robot.name

実行 ID

Robot.executionId

ロボットの現在の実行 ID。

Robot.executionId

実行エラー

Robot.executionErrors

最も近いトライ ステップの、前の分岐で発生した実行エラー。

このエクスプレッションは、トライステップの 2 番目以降の分岐で使用できます。

Robot.executionErrors

関数
関数 説明

abs(arg)

数の絶対値を返します。

base64Decode(arg)

Base64 でエンコードされたデータをデコードします。

base64Encode(arg)

バイナリ データを Base64 エンコーディングでエンコードします。

binaryToText(data[, encoding])

バイナリ データをデコードしてテキストにします。指定のエンコーディングが有れば使用します。無い場合は、デフォルトで UTF-8 エンコーディングを使用します。

capitalize(arg)

すべての単語の最初の文字を大文字に、他の文字をすべて小文字にします。

ceil(arg)

数を一番近い整数に切り上げます。

collapseSpaces(arg)

スペースが 2 つ連続しないようにします。

contains(source, key)

ソースに指定されたキーが含まれるかを返します。

date()

現在の日付を標準的な日付の形式 (yyyy-mm-dd) で返します。

day(args)

引数として与えられた日付の日を返します。

endsWith(source, key)

ソース文字列が指定されたキーで終わる場合は true を、そうでない場合は false を返します。

floor(arg)

数を最も近い整数に切り捨てます。

guid()

ランダムに生成された、グローバルな固有 ID (GUID) を返します。

hexDecode(arg)

16 進エンコードのデータをデコードします。

hexEncode(arg)

バイナリ データを 16 進エンコーディングでエンコードします。

indexOf(source, key)

ソース内のキーの最初のインデックスを返します。無い場合は -1 を返します。

length(arg)

テキスト内の文字数をカウントするか、バイナリ データが与えられた場合はバイト数をカウントします。

max(a, b)

2 つの数のうちの大きい方の値を返します。

md5(arg)

引数として与えられたバイナリ データの MD5 チェックサムを計算します。

min(a, b)

2 つの数のうちの最小値を返します。

month(args)

引数として与えられた日付の月を返します。

now()

現在の日付と時刻を返します。

random()

0 ~ 1 の間の乱数を返します。

removeSpaces(args)

SPACE、\t、\n などの、引数内の空白文字をすべて除去します。

replacePattern(source, pattern, newText)

テキスト "source" 内に "pattern" パターンが発生する度に、テキスト "newText" に置き換えます。パターンの一致は大文字と小文字を区別しません。

replaceText(source, oldText, newText)

テキスト "source" 内にテキスト "oldText" が発生する度に、テキスト "newText" に置き換えます。"oldText" との一致は大文字と小文字を区別しません。

resolveURL(arg)

現在の URL を使用して、相対の URL を絶対に変換します。

round(arg)

最も近い整数に四捨五入します。

shortTime(arg)

引数として与えられた日付に対して、秒の小数部が無い時間 (hh:mm:ss) を返します。

substring(source, startIndex)

startIndex からソース文字列の末尾までを範囲とするソース文字列の一部を返します。文字列の先頭文字のインデックスが 0 になります。

substring(source, startIndex, endIndex)

startIndex から endIndex までを範囲とするソース文字列の一部を返します。文字列の先頭文字のインデックスが 0 になります。

startsWith(source, key)

ソース文字列が指定されたキーで始まる場合は true を、そうでない場合は false を返します。

textToBinary(text[, encoding])

テキストをバイナリ データにエンコードします。指定のエンコーディングが有れば使用します。無い場合は、デフォルトで UTF-8 エンコーディングを使用します。

time(arg)

引数として与えられた日付の時間 (hh:mm:ss.fff) を返します。

toInteger(args)

テキストを整数に変換します。計算に含めたい場合に便利です。

toNumber(args)

テキストを浮動小数点数に変換します。計算に含めたい場合に便利です。

toLowerCase(arg)

テキスト内のすべての文字を小文字に変換します。

toUpperCase(arg)

テキスト内のすべての文字を大文字に変換します。

trim(arg)

テキストの両端からすべてのスペースを除去します。

urlDecode(arg)

URL にエンコードされたテキストをデコードします。

urlEncode(arg)

テキストを URL にエンコードします。

weekday(arg)

引数として与えられた日付の曜日の名前を (英語で) 返します。

year(args)

引数として与えられた日付の年を返します。

toColumn(arg)

整数を Excel の列テキストに変換します。

toIndex(arg)

Excel の列テキストを整数に変換します。

iteration(arg)

現在のイテレーション数が含まれます。