情報の連結

CONCAT アクションと PREFIX アクションは、ルールセット内の情報を連結するための2つのアクションを提供する。

CONCAT アクション

CONCAT は、ユーザー変数または辞書列に情報を連結する。 ソースには、オペランド、リテラル、またはユーザ変数を指定できます。 たとえば、1/2や1/4などの分数は、以下のパターン・アクション・セットを使うことで、辞書の1列にコピーできる:


^ | / | ^
COPY [1] temp
CONCAT [2] temp
CONCAT [3] temp
COPY temp {Fractions}

{Fractions} の列には、フラクション(1/2)全体が含まれる。

ユーザー変数は、1つのフィールドを形成するために CONCAT 。 スペースを含む2つの方向(例: EAST WEST )を1つの辞書カラムにコピーしたい場合、以下のアクションを作成する:


D =T= "EAST"| D =T= "WEST" | T
COPY [1] temp
CONCAT " " temp
CONCAT [2] temp
COPY temp {StreetName}

このパターンでは、 EASTと WESTの特定の方向をテストする 最初のオペランドはユーザー変数tempにコピーされる。 tempの中身は EASTになった。 次の行では、変数tempにスペースを連結している。 番目の CONCAT 、変数tempに WESTを追加する。 変数に EAST WESTが含まれるようになった。 そして、tempの内容が通り名フィールドにコピーされる。

注: 空白1文字のリテラルは変数に連結される。 辞書列に直接連結しても、同じ結果は得られない。 ディクショナリのカラムは、初期化時にはNULLである。 スペースを追加しても、列の内容は変更されず、将来の動作も変更されない。

CONCAT は部分文字列の範囲を許可する。 次に例を示します。


CONCAT [1](3:-2) {StreetName}

位置3から最初のオペランドの最後から2番目の位置までが、辞書カラムの通り名カラムに連結される。

CONCAT_A は、元のトークン・データの代わりに標準的な省略形を連結します。 ソースはオペランドのみ。 CONCAT_A は部分文字列の範囲を許可する。 しかし、この部分文字列は標準的な略語を指し、元のトークンではない。

CONCAT_I は、元のトークン・データの代わりにイニシャルを連結する。 CONCAT_I POST 、ソースはディクショナリ列、ターゲットはディクショナリ列でなければならない。

CONCAT_I POST アクションとして使用されない場合、元のトークンではなく、イニシャルを参照する部分文字列の範囲を許可する。 ほとんどの場合、イニシャルは1つだが、 John Henry Smithのようなマルチトークン文字列の場合、イニシャルはJHSとなり、(1:1)以外の部分文字列の範囲が意味を持つ。

CONCATアクションとスペースについてもっと知る: ソースがユーザー変数の場合、CONCATアクションはトークン内のスペースを保持します。 ソースがオペランドの場合、CONCATアクションはトークン内のスペースを保持しません。

CONCAT のいずれかと一致するトークン間にスペースを保持する機能はない または **をパターン・ ステートメント ( COPY_S アクションなど)で使用する。 トークン間のスペースを保持するには、 COPY_S アクションを使用してトークンをユーザー変数にコピーし、そのユーザー変数の接頭辞を付けるか連結する必要があります。 入力行の注目テキストをピックアップするには、以下の例を参照してください:

表 1. トークンをユーザー変数にコピーする方法の例
1つのパターン・アクション・セット内の行 説明
+="SEE" | ** ; grab "SEE JOHN DOE"
COPY[1]テンプ ; put "SEE" in user variable temp
CONCAT " " temp ; add a space to the end of user variable temp
COPY_S【2 temp2 ; put "JOHN DOE" (including space) in temp2
CONCAT temp2 temp ; concat temp2 onto temp
COPYテンポ {AdditionalNameInformation} ; put "SEE JOHN DOE" into column AdditionalNameInformation

PREFIX アクション

PREFIX アクションは、文字列の先頭にデータを追加する。 PREFIX のソースは、オペランド、リテラル、またはユーザー変数です。 ターゲットは、ユーザー変数またはディクショナリ列である。


COPY "CHARLES" temp
PREFIX "SAINT" temp

先の例では、変数 tempに SAINTCHARLESが格納されている。

PREFIX は部分文字列の範囲を許可する。 例えば次のサンプル:


PREFIX [1](3:-2) {StreetName}

位置3から、最初のオペランドの最後から2番目の位置までは、通り名欄の先頭に付く。

PREFIX_A は、元のトークン・データの代わりに、標準的な省略形の接頭辞を付けます。 ソースはオペランドでなければならない。 PREFIX_A ただし、部分文字列は標準的な省略形を指し、元のトークンを指すわけではない。

PREFIX_I は、元のトークン・データの代わりにイニシャルを接頭辞として用いる。 PREFIX_I POST 、ソースはディクショナリ列、ターゲットはディクショナリ列でなければならない。

PREFIX_I POST アクションとして使用されない場合、元のトークンではなく、イニシャルを参照する部分文字列の範囲を許可する。 ほとんどの場合、イニシャルは1つだが、 John Henry Smithのようなマルチトークン文字列の場合、イニシャルはJHSとなり、(1:1)以外の部分文字列の範囲が意味を持つ。

PREFIXアクションとスペースについてもっと知る: ソースがユーザー変数の場合、PREFIXアクションはトークン内のスペースを保持します。 ソースがオペランドの場合、PREFIXアクションはトークン内のスペースを保持しません。

PREFIX のいずれかに一致するトークンの間にスペースを保持することはできません あるいは、 COPY_S アクションのようなパターン・ ステートメント中の ** である。 トークン間のスペースを保持するには、 COPY_S を使ってトークンをユーザー変数にコピーし、そのユーザー変数の接頭辞を付けるか、そのユーザー変数を連結する必要がある。 先のパターン・アクションセットの例を参照。