バーコードスキャナ等で読み込んだ文字列のうち、一部のみを取り出したい場合は関数を使います。
トリガのアクションでデータを指定する際に式を選択すると関数が使用できます。
関数は入力窓の下にある一覧から選択可能です。(「function」と記載されているものが関数です。)
文字列を取り出す関数
文字列を取り出す関数は、下記の3つがあります。
- LEFT関数:LEFT(テキスト, n:整数)
テキストの左からn個の文字を取り出したい場合に使用します。
- RIGHT関数:RIGHT(テキスト, n:整数)
テキストの右からn個の文字を取り出したい場合に使用します。
- MID関数:MID(テキスト, スタート:整数, n:整数)
テキストの左から数えてスタート番目の文字からn個の文字を取り出したい場合に使用します。
※スタート:整数は、一番左の文字を0番目と数えます。
※関数の()内に指定するテキストまたは整数の部分には、変数やテーブルレコード等テキストタイプ・整数タイプのデータを指定することも可能です。
関数の使い方
テキスト「ABC23052300001」を例にそれぞれの関数の使い方をご紹介します。
- 左から3文字を取り出す場合
LEFT('ABC23052300001', 3) ⇒「ABC」が取り出せます。 - 右から5文字を取り出す場合
RIGHT('ABC23052300001', 5) ⇒「00001」が取り出せます。 - 左から数えて3番目から6文字を取り出す場合
MID('ABC23052300001', 3, 6) ⇒「230523」が取り出せます。
※「A」が0番目のため、3番目は「2」になる。
トリガの設定例
例として、バーコードスキャナで読み込んだテキストのうち、左から3文字を取り出し変数に保存するトリガの設定方法を紹介します。
- ステップの「マシンとデバイス」のトリガを追加する。
- バーコードスキャナでバーコードを読み込んだ時にトリガが実行されるように設定する。
- 式の一覧からLEFT関数を選択し、()内のテキスト部分に「デバイス出力.data」・整数部分に「3」を入力する。取り出した文字列の保存先を変数にする。(ここでは「変数.文字列の取り出し」にしています。)
応用
長さが異なる複数の文字列から決まった文字数の文字列を取り除きたい場合、文字列の長さを返すLEN関数を使用します。
取り除く文字列の文字数さえ決まっていれば、その前後の文字列の文字数に左右されることなく、文字列を取り出すことが可能です。
例えば、外部から取り込んだ長さの異なるテキストに対して同じ処理をしたい場合に有効です。
- テキスト「ABC23052300001」の右から5文字を除いた、残りの文字列を取り出したい場合
LEFT("ABC23052300001", LEN("ABC23052300001") - 5) ⇒「ABC230523」が取り出せます。
考え方:テキスト「ABC2305230001」のうち、左から全体の文字数から「00001」分の5を引いた文字列を取り出す - テキスト「ABC23052300001」の左から3文字を除いた、残りの文字列を取り出したい場合
RIGHT("ABC23052300001", LEN("ABC23052300001") - 3) ⇒「23052300001」が取り出せます。
考え方:テキスト「ABC2305230001」のうち、右から全体の文字数から「ABC」分の3を引いた文字列を取り出す