Skip to main content
Skip table of contents

String

3.2.16 String

String - テキストを処理または解析します。このコマンドは、引数のテキストにテキスト処理関数を適用します。contains"、"startswith"、"endswith"、"matches "といった基本的な文字列の "テスト "操作は、if/else文を通して実行することができます。boolean expressionsによるif/se文で実行することができますが、Stringコマンドはむしろ、1つ以上の操作のシーケンスからなる、より複雑なテキスト処理をターゲットにしています。

引数テキストにvariable callsが含まれている場合、それらはテキストが処理される前に解決(値に置き換え)されます。このコマンドは、_STRING接頭辞を持つ変数のセットを以下のように入力します:

変数名

説明

_STRING=<operationResult>

コマンドで "var "パラメータを使用してカスタム出力変数を定義した場合、デフォルトの_STRING変数は作成されません。

_STRING_COUNT=<stringCount>

“String split" 操作の結果得られるトークンの数。

_STRING<n>=<token>

「String split」操作から得られるn番目のトークン(substring)です。<n>は1から_STRING_COUNTまでの範囲の値です。コマンドが「var」パラメータを使用してカスタム出力変数のベース名を定義している場合、デフォルトの_STRING<n>変数は作成されません。

操作の結果は、デフォルトで_STRING変数またはオプションの'var'パラメータで指定されたカスタム変数に保存されます。操作が複数の値を生成する場合('split'操作など)、各値は _STRING1、_STRING2 などの番号付き変数、または 'var' パラメータで指定された名前から派生した同様の番号付き変数セットに保存されます。その後、値の数が_STRING_COUNT変数に保存されます。

コマンドの基本構造は以下の通りです:

String <操作> "<テキスト>" [<パラメータ>].

サポートされている操作をアルファベット順に以下に示します。これらの名前はほとんどの場合、java.lang.String Javaクラスのメソッド名に由来しています。

  • indexof - string' パラメータで指定された部分文字列が最初に現れるテキスト内のインデックスを返します。v3.5.2以降では、このコマンドはtocr method.インデックスは0から始まります。指定された文字列が見つからない場合、結果は-1です。例えば、'String indexof "Demo text" string=text'は、_STRING変数を5に設定します。この操作は通常、'substring'と組み合わせてテキスト解析に使われます。与えられたテキスト内の部分文字列の存在をテストしたい場合、その位置に興味がない場合は'contains'.ブール演算子を利用する方が簡単です。

  • length - テキストの長さ(文字数)を返します。例えば、'String length "Demo" ' とすると、_STRING変数に4がセットされます。

  • matches - java.util.regex.Pattern準拠の正規表現にテキストをマッチさせ、その結果をブール値('true' か 'false')で返します。例えば、'String matches "a20" pattern="[a-z][0-9]*" ' は _STRING 変数を 'true' に設定します。 なぜなら、この正規表現は小文字の後に数字が続くシーケンスにマッチするからです。matches'演算は、if/elで使いやすいようにboolean operatorの形でもサポートされています。

  • replace - string' パラメータで指定された値がテキスト中に出現した場合、その値を 'replacement' パラメータで指定された文字列で置き換えた新しいテキストを返します。この操作は、'string'の代わりに'pattern'を指定して、指定したjava.util.regex.Pattern正規表現にマッチするすべての出現回数を置換することもできます。例えば、'String replace "fox" string=f replacement=s'は、_STRING変数を'sox'に設定します。

  • split - 与えられた文字列('string'パラメータ)またはjava.util.regex.Pattern正規表現('pattern')にマッチする文字列の集合にテキストを分割します。例えば、'String split "brown fox" string=" " ' は、_STRING1=brownと_STRING2=foxの2つの値を生成し、_STRING_COUNT変数に2を設定します。

  • substring - 入力'start'または'end'インデックス番号で定義されたテキストの部分文字列を返します。インデックスは0から始まり、0はテキストの先頭(最初の文字)を指す。例えば、'String substring "someone" start=4'は、_STRING変数を'one'に設定します。

  • tostring - 1つ以上のセミコロンで区切られた数値ASCIIまたはUnicode値から新しいテキストを作成します。これは、特殊文字や各国アルファベットの文字を生成するのに使うことができる。例えば、'String tostring "49;43;49" ' は、_STRING変数を'1+1'に設定します。

  • trim - 先頭と末尾の空白文字(スペース、改行文字など)をすべて削除する。例えば、'String trim " apple " は、_STRING変数を'apple'に設定します。


String indexof "<text>" string=<text>[start=<index>] [end=<index>] [distance=<number>] [var=<variable_name>]

  • 赤色は必須パラメーターを示す

オプション

text

-処理するテキスト。

string

-テキスト内で検索する文字列。

start

-検索を開始する開始インデックス(オプション)。数値または有効なNumeric Expressions.インデックスは 0 から開始し、0 はテキストの先頭 (最初の文字) を指します。デフォルトの開始インデックスは 0 です。

end

-検索を終了する終了インデックス。数値または有効なNumeric Expressions.デフォルト値はテキストの長さ(テキストの終端)。

distance

-トレラントテキスト検索を実行するために、"string "パラメータと組み合わせて使用されるオプションの距離(3.5.2からサポート)。このパラメータがデフォルト値の0(距離なし)に設定されている場合、コマンドは引数テキストが指定された文字列の最初の出現箇所を検索するプレーンな文字列検索に戻ります。

許容(ファジー)テキスト検索は、距離値が 1 以上の場合に実行されます。テキストは、指定された文字列と十分に類似した文字列の出現を検索します。許容度(類似度)はレーベンシュタイン距離に基づいている。これは、一方の文字列を他方の文字列に変換するのに必要な最小の編集回数として定義され、許容される編集操作は1文字の挿入、削除、置換です。この距離は、サンプル・テキストが等価であるとみなすために、最大で何文字が省略されるか、または正しく認識されないかをおおよそ指定します。
検索の代わりにファジーテキストマッチングを実行するにはstring_matchesコマンドを使用します。

var

-結果のインデックスを格納する変数名(オプション)。このパラメータが指定されない場合、結果はデフォルトの _STRING 変数に格納されます。

戻り値

'String indexof' コマンドは、指定された文字列がテキスト内に見つかった場合は 0 (ゼロ) を返し、そうでない場合は 1 を返します。このコマンドはさらに、_STRING変数(または'var'パラメータで指定したカスタム変数)にインデックス(見つからなければ-1)を格納します。インデックスは0から始まり、0はテキストの先頭(最初の文字)を指します。

JS
String indexof "Demo text" string="text" var=result

– Demo text "内の "text "の位置(インデックス)を取得し、"result "変数に5の結果を格納します。

JS
String indexof "Demo text" string="test" var=result  distance=1 

– 前の例と同じですが、"text "の単語は、指定された "test "の文字列の距離1以内にあります。


String length "<text>" [var=<変数名>].

  • 赤色は必須パラメータ

オプション

var

-結果の文字列長を格納する変数名(オプション)。このパラメータが指定されない場合、結果はデフォルトの_STRING変数に格納されます。

戻り値

String length' コマンドは常に 0 (ゼロ) を返し、引数のテキストの長さ (文字数) を _STRING 変数または 'var' パラメータで指定したカスタム変数に格納します。

文字列の 長さ "デモテキスト" var=len

  • デモ・テキスト "の長さ(9)を "len "変数に格納します。


String matches "<text>" pattern="<regular_expression>" [var=<variable_name>]

String matches "<text>" string="<text>" [distance=<number>] [var=<variable_name>].

  • 赤色は必須パラメーターを示します。

オプション

pattern

-java.util.regex.Patternに準拠した正規表現。. "の正規表現は、デフォルトでは行終端以外のすべての文字にマッチします。この動作はコマンドの環境設定で変更することができます。
正規表現はテキスト全体にマッチしなければならないことに注意してください。このコマンドは、その正規表現にマッチする部分のテキストを検索しません。例えば、"*.test.*"という単語を検索するには、".test. "という表現を使わなければなりません。意味は「'test'という単語で、その前後に(.*)が含まれていてもいなくてもよい」ということです。

string

-テキストを検索する文字列 (3.5.2 以降でサポート)。

distance

-オプションの距離。"string "パラメータと組み合わせて使用し、トレラントテキストマッチングを実行します(3.5.2以降に対応)。このパラメータをデフォルト値の0(距離なし)に設定すると、コマンドはプレーンな文字列比較に戻り、引数テキストが指定された文字列と等しいかどうかがテストされます。
許容(ファジー)テキスト・マッチングは、距離値が1以上の場合に実行されます。テキストが指定された文字列と十分に類似しているかどうかがテストされます。許容度(類似度)はレーベンシュタイン距離に基づいています。これは、一方の文字列を他方の文字列に変換するのに必要な最小の編集回数として定義され、許容される編集操作は1文字の挿入、削除、置換です。この距離は、サンプルテキストを等価とみなすために、最大で何文字が省略されるか、または正しく認識されないかをおおよそ指定します。
指定された文字列は、引数テキスト全体と一致しなければならないことに注意してください。指定された文字列と似た文字列を見つけるためにあいまい検索を行うには、代わりにstring_indexofを使います。

var

-結果のブール値フラグ(true/false)を格納する変数名(オプション)。このパラメータが指定されない場合、結果はデフォルトの _STRING 変数に格納されます。

戻り値

'String matches' コマンドは、テキストが正規表現にマッチする場合は 0 (ゼロ)、マッチしない場合は 1 を返します。コマンドはさらに、結果を 'true' または 'false' として _STRING 変数または'var' パラメータで指定したカスタム変数に格納します。

JS
File open file="C:\data.txt"
Var result=-1

for (i=1; {i}<{_FILE_LINE_COUNT}+1; i={i}+1) {
   File read line={i}
   String matches "{_FILE_READ}" pattern="[a-z]*"
   if ({_EXIT_CODE} == 0) {
       Var result={i}
       Break
      }
}
  • データ・ファイルを開き、一行ずつ読み込んで、それぞれを指定された正規表現と照合する。行がマッチしたら、その行番号を変数 "result "に保存して停止する。

JS
// サンプルテキストを作成
Var TEXT= "this is sample text" 

// このコマンドは 0 (合格) を返します。指定されたパターンは 「simple」 または 
//「sample」 を含む任意のテキストに一致します
String "matches" "{TEXT}" pattern=".*s[ia]mple.*" 

// このテキストには「simple」が含まれていないため、0が返されます。
String "matches" "{TEXT}" string="simple" 

// これは0を返します。テキストに「sample」が含まれており、「simple」と1文字しか違いがないためです。
String "matches" "{TEXT}" string="simple" distance=1 
  • サンプル・テキストを様々な方法でテストします。


String replace "<text>" string="<text>" replacement="<text>" [var=<variable_name>].

String replace "<text>" pattern="<regular_expression>" replacement="<text>"[var=<variable_name>].

  • 赤色は必須パラメータ

オプション

replacement

-新しい文字列(置換)。

string

-テキスト内で置き換える)古い文字列。

pattern

-置換する文字列を表すjava.util.regex.Patternに準拠した正規表現です。. "の正規表現は、デフォルトでは行終端を除くすべての文字にマッチします。この動作は、コマンドの環境設定で変更することができます。

var

-結果の新しいテキストを格納する変数名(オプション)。このパラメータが指定されない場合、結果はデフォルトの _STRING 変数に格納されます。

戻り値

文字列の置換'コマンドは、少なくとも1つの置換が行われた場合は0を、置換が行われず、結果のテキストが元のテキストと等しい場合は1を返します。新しいテキストは、それが変更されたかどうかに関係なく、_STRING変数または'var'パラメータで指定されたカスタム変数に格納されます。

JS
String replace "bad fat cat" string="b" replacement="s"
  • STRING変数を "sad fat cat "で更新し、文字列が更新されたので0を返します。

JS
String replace "bad fat cat" pattern="[bf]a[td]" replacement="cat"
  • STRING変数を "cat cat cat "で更新し、文字列が更新されたので0を返します。


String split "<text>" string="<text>"[var=<variable_name>]
String split "<text>" pattern="<regular_expression>" [var=<variable_name>]

  • 赤色は必須パラメータです。

オプション

string

-分割する区切り文字 (セパレータ)。

pattern

-java.util.regex.Patternに準拠した正規表現で分割します。正規表現 "." は、デフォルトでは行終端以外のすべての文字にマッチします。この動作は、コマンドの環境設定で変更することができます。

var

-結果の文字列を格納する変数のベース名を指定します。このパラメータが指定されない場合、結果はデフォルトの番号 _STRING<number> 変数に格納されます。

戻り値

String split' コマンドは常に 0 (ゼロ) を返します。解析された各値は、_STRING1、_STRING2 などの番号付き変数、または 'var' パラメータで指定された名前から派生した同様の番号付き変数セットに保存されます。その後、値の数が_STRING_COUNT変数に格納されます。

JS
String split "bad fat cat" string=" " var="s"
  • テキストをスペースで分割する。s "というカスタム変数のベース名が指定されると、コマンドは3つの変数s1="bad"、s2="fat"、s3="cat "のセットを生成する。STRING_COUNT変数は3に設定されます。

JS
String split "bad, fat cat" pattern="[,]* "
  • テキストをスペースで分割し、その前にカンマを置くこともできます。前の例と同様に、このコマンドは3つの変数_STRING1="bad"、_STRING2="fat"、_STRING3="cat "のセットを生成します。STRING_COUNT変数は3に設定されます。

JS
// 操作対象のディレクトリ
Var DIR=/tmp

// ディレクトリの内容を一覧表示(Linux/Unix)。
// Windowsの場合は「ls」コマンドを「command.com /C dir /B」に置き換える
Exec "ls {DIR}" 

// ディレクトリ一覧を行単位で分割
String split "{_EXEC_OUTPUT}" pattern="\r?\n"

for (i=1; {i}<{_STRING_COUNT}+1; i={i}+1) {

  // インデックスの浮動小数点置換(2.3.3以降不要)
  String replace "{i}" pattern="[.].*" replacement=""

  Var f="{_STRING{i}}"

  // ファイルが .png または .jpg 画像の場合、3秒間表示する
  if ("{f}" endswith ".png" || "{f}" endswith ".jpg") {
    Connect "file://{DIR}/{f}" 
    Wait 3s 
  }
}
  • ディレクトリに対して画像のスライドショーを行います。ここでは、"String split "コマンドを使って、ディレクトリ・リストを個々のファイルに分割する(1行に1ファイルを想定)。解析された文字列(ファイル名)は、既知の画像拡張子かどうかチェックされ、ロボットのデスクトップビューに3秒間表示されます。


String substring "<text>" start=<index> [end=<index>] [var=<variable_name>]
String substring "<text>" end=<index> [start=<index>] [var=<variable_name>]

  • 赤色は必須パラメーターを示す

オプション

start

-開始インデックス (数値または有効な数値表現)。インデックスは0から始まり、0はテキストの先頭(最初の文字)を指します。デフォルト値は0です。

end

-終了インデックス (数値または有効な数値表現)。デフォルト値はテキストの長さ(テキストの終端)。

var

-結果の部分文字列を格納する変数のベース名 (オプション)。このパラメータが指定されない場合、結果はデフォルトの _STRING 変数に格納されます。

戻り値

文字列の部分文字列'コマンドは、開始および終了インデックスがテキスト内の有効な位置を指す場合、0 (ゼロ) を返します。開始位置が無効な場合(0より小さいか、テキストの長さ以上であることを意味します)、コマンドは開始インデックスを0に設定し、1を返します。そうでない場合、終了位置が無効(開始位置より小さいか、テキスト長より大きいことを意味する)なら、コマンドは終了インデックスをテキスト長のデフォルト値に設定し、2を返す。返される値にかかわらず、_STRING変数(または'var'パラメータを通して渡されるカスタム変数)は、常に開始位置と終了位置の間の新しい部分文字列で満たされます。

JS
String substring "bad fat cat" start="4" var="s"
  • 最初の4文字を削除し、変数 "s "に "fat cat "をセットします。

JS
String length "bad fat cat" var="len"
String substring "bad fat cat" start="{len}-3" end="{len}-2"
  • 最後の3文字目("c")を _STRING 変数にカットします。


String tostring "<text>" unicode=<index> [var=<variable_name>]

  • 赤は必須パラメータを示します。

オプション

unicode

-文字列に変換する Unicode/ASCII コードを数値で1つ、またはセミコロンで区切られたコードのリストを指定します。リスト内の各コードはjava.lang.Integer.decode()メソッドで解析されるため、10進数、16進数(先頭が'0x'または'#'、例えば'0xF0'または'#F0')、または8進数である可能性があります。例えば、'@'文字は'64'(10進数)、'0xF0'、'#F0'(16進数)、'0100'(8進数)で指定することができる。文字コードの一覧は Wikipedia のASCIIUnicode の表を参照してください。

var

-結果の文字列を格納する変数のベース名をオプションで指定します。このパラメータが指定されない場合、結果はデフォルトの _STRING 変数に格納されます。

戻り値

String tostring' コマンドは、成功すると 0 (ゼロ) を返し、1 つ以上のコードが有効な ASCII/Unicode 文字に対応しない場合は 1 を返します。成功した場合、コマンドは_STRING変数(または'var'パラメータを通して渡されたカスタム変数)に変換された文字列を格納します。

JS
String tostring "104;101;108;108;111" var="s"
  • s" 変数に "hello" を代入します。

JS
String tostring "0xF1" var="s"
Var tomorrow="ma{s}ana"
  • 変数 "tomorrow "に "mañana "を設定します。


String trim "<text>" [var=<variable_name>]

  • 赤色は必須パラメータです。


オプション

var

-結果の文字列を格納する変数のベース名(オプション)。このパラメータが指定されない場合、結果はデフォルトの _STRING 変数に格納されます。

戻り値

String trim' コマンドは常に 0 (ゼロ) を返します。コマンドが成功すると、_STRING 変数 (または 'var' パラメータで渡されたカスタム変数) にトリムされた文字列が格納されます。

JS
String trim " Hello!  " var="s"
  • s" 変数を "Hello!" に設定します。

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.