エクスプレッションとは、値を表記する方法の一つで、文字と変数や関数を組み合わせた表記が可能です。
【使用するステップ】
- 特になし
※エクスプレッションを使用できるステップや、ファインダー
例)「セルのコンテンツ設定(Set Content of Cell)」ステップ
【実装例】
- エクスプレッションの記法
エクスプレッション タイプ
表記
説明
例
定数
"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
最も近いトライ ステップの、前の分岐で発生した実行エラー。
Robot.executionErrors
- エクスプレッションで使用できる関数
関数 日本語表記 説明 abs(arg)
絶対値 数の絶対値を返します。
base64Decode(arg)
Base64 デコード Base64 でエンコードされたデータをデコードします。
base64Encode(arg)
Base64 エンコード バイナリ データを Base64 エンコーディングでエンコードします。
binaryToText(data[, encoding])
バイナリをテキストに変換 バイナリ データをデコードしてテキストにします。指定のエンコーディングが有れば使用します。無い場合は、デフォルトで UTF-8 エンコーディングを使用します。
capitalize(arg)
キャピタライズ すべての単語の最初の文字を大文字に、他の文字をすべて小文字にします。
ceil(arg)
端数切り上げ 数を一番近い整数に切り上げます。
collapseSpaces(arg)
連続するスペースを1つにまとめる スペースが 2 つ連続しないようにします。
contains(source, key)
含む ソースに指定されたキーが含まれるかを返します。
date()
現在の日付 現在の日付を標準的な日付の形式 (yyyy-mm-dd) で返します。
day(args)
日 引数として与えられた日付の日を返します。
endsWith(source, key)
次で終わる ソース文字列が指定されたキーで終わる場合は true を、そうでない場合は false を返します。
floor(arg)
端数切り捨て 数を最も近い整数に切り捨てます。
guid()
グローバル一意識別子 ランダムに生成された、グローバルな固有 ID (GUID) を返します。
hexDecode(arg)
16進デコード 16 進エンコードのデータをデコードします。
hexEncode(arg)
16進エンコード バイナリ データを 16 進エンコーディングでエンコードします。
indexOf(source, key)
インデックス オブ ソース内のキーの最初のインデックスを返します。無い場合は -1 を返します。
length(arg)
長さ テキスト内の文字数をカウントするか、バイナリ データが与えられた場合はバイト数をカウントします。
max(a, b)
最大 2 つの数のうちの大きい方の値を返します。
md5(arg)
MD5 チェックサム 引数として与えられたバイナリ データの 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 を使用して、相対の URL を絶対に変換します。
round(arg)
四捨五入 最も近い整数に四捨五入します。
shortTime(arg)
短形式の時間 引数として与えられた日付に対して、秒の小数部が無い時間 (hh:mm:ss) を返します。
substring(source, startIndex, endIndex)
部分文字列 startIndex で始まり endIndex に至り、endIndex の文字を含まないソース文字列の部分を返します。endIndex を指定しない場合、関数は、ソース文字列の長さが endIndex として与えられたかのように作用します。
startsWith(source, key)
次で始まる ソース文字列が指定されたキーで始まる場合は true を、そうでない場合は false を返します。
textToBinary(text[, encoding])
テキストをバイナリに変換 テキストをバイナリ データにエンコードします。指定のエンコーディングが有れば使用します。無い場合は、デフォルトで UTF-8 エンコーディングを使用します。
time(arg)
時間 引数として与えられた日付の時間 (hh:mm:ss.fff) を返します。
toColumn(...) 列に変換 整数をExcel スプレッドシートの列記号に変換します。(例:1→A、2→B・・・) toIndex(...) インデックスに変換 Excel スプレッドシートの列記号を整数に変換します。(例:A→1、B→2・・・) toInteger(args)
整数に変換 テキストを整数に変換します。計算に含めたい場合に便利です。
toNumber(args)
数値に変換 テキストを浮動小数点数に変換します。計算に含めたい場合に便利です。
toLowerCase(arg)
小文字に変換 テキスト内のすべての文字を小文字に変換します。
toUpperCase(arg)
大文字に変換 テキスト内のすべての文字を大文字に変換します。
trim(arg)
末尾のスペースを除去 テキストの両端からすべてのスペースを除去します。
urlDecode(arg)
URL デコード URL にエンコードされたテキストをデコードします。
urlEncode(arg)
URL エンコード テキストを URL にエンコードします。
weekday(arg)
平日 引数として与えられた日付の曜日の名前を (英語で) 返します。
year(args)
年 引数として与えられた日付の年を返します。
【注意点】
-
テキスト定数に対する >>text<< 表記は、HTML など、引用符文字を多く含む長いテキストを指定するのに便利です。>>text<< 表記を使用すると、前後に >> および << のシンボルを配置するだけで、テキストをそのまま使えます。
"text" 表記を使用する場合は、テキスト内のすべての引用符文字を、2 つの連続する引用符文字に置き換える必要があります。
DSのエクスプレッションの「定数」( " " と >> << )
【関連情報】
- DSのエクスプレッションについて
- DSのエクスプレッションの「変数」について
- DSのエクスプレッションの「オペレータ >連結/追加(+)」
- DSのエクスプレッションの「オペレータ > 減算(-)・乗算(*)・除算(/)・モジュール(%)」の 使用方法
- DSのエクスプレッションで文字列、変数、「\n(改行文字)」を使用した場合の記述方法
- テキスト内の特定の単語の個数をカウントする方法
- テキスト内の特定の文字や単語以降の指定した数の文字列を抽出する方法
- DAでの関数の使用方法と一覧
※この記事は2021年3月12日にver10.4.0.2で作成したものです。
※本記事は初心者の方に分かりやすくご説明することを目的としております。
そのため、意図的に厳密な表現を避けている場合がございますのでご了承ください。