Concatenar información

La acción CONCAT y la acción PREFIX proporcionan dos acciones para concatenar información en un conjunto de reglas.

CONCAT acción

CONCAT concatena información en una variable de usuario o en una columna del diccionario. La fuente puede ser un operando, un literal o una variable de usuario. Por ejemplo, las fracciones, como ½ y ¼, pueden copiarse en una sola columna del diccionario utilizando el siguiente conjunto de acciones patrón:


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

La columna {Fractions} contiene toda la fracción (½).

Las variables de usuario se suelen utilizar con la acción CONCAT para formar un campo. Si desea copiar dos direcciones con espacios (por ejemplo: ESTE OESTE) en una sola columna del diccionario, cree las siguientes acciones:


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

Este patrón comprueba las direcciones específicas ESTE y OESTE. El primer operando se copia en la variable de usuario temp. El contenido de temp es ahora EAST. La siguiente línea concatena un espacio a la variable temp. El segundo CONCAT añade WEST a la variable temp. La variable contiene ahora ESTE OESTE. A continuación, el contenido de temp se copia en el campo del nombre de la calle.

Nota: Un literal con un solo espacio se concatena con la variable. No se pueden obtener los mismos resultados concatenando directamente en la columna del diccionario. Las columnas del diccionario son nulas en el momento de la inicialización. Añadir un espacio no modifica el contenido de la columna y no altera las acciones futuras.

CONCAT permite rangos de subcadenas. Por ejemplo:


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

Desde la posición 3 hasta la penúltima posición del primer operando se concatena con la columna del nombre de la calle de la columna del diccionario.

CONCAT_A concatena la abreviatura estándar en lugar de los datos originales del token. La fuente sólo puede ser un operando. CONCAT_A permite rangos de subcadenas. Sin embargo, la subcadena se refiere a la abreviatura estándar y no al token original.

CONCAT_I concatena las iniciales en lugar de los datos originales del token. Puede utilizar CONCAT_I como una acción de POST donde el origen debe ser una columna de diccionario y el destino debe ser una columna de diccionario.

CONCAT_I, cuando no se utiliza como acción POST , permite rangos de subcadenas con la subcadena referida a las iniciales y no al token original. En la mayoría de los casos, hay una sola inicial, pero para las cadenas de varios tokens, como John Henry Smith, las iniciales son JHS, y los rangos de subcadenas distintos de (1:1) tienen sentido.

Más información sobre la acción CONCAT y los espacios: Cuando la fuente es una variable de usuario, la acción CONCAT conserva los espacios dentro del token. Cuando el origen es un operando, la acción CONCAT no conserva los espacios dentro del token.

CONCAT no permite conservar los espacios entre las fichas que coincidan con ? o ** en una sentencia patrón (como la acción COPY_S ). Para conservar los espacios entre los tokens, debe utilizar la acción COPY_S para copiar los tokens en una variable de usuario y anteponer o concatenar dicha variable de usuario. Para recoger el texto de atención en una línea de entrada, consulte los siguientes ejemplos:

Tabla 1. Ejemplos de cómo copiar tokens en variables de usuario
Líneas dentro de un conjunto de acciones patrón Descripción
+="VER" | ** ; grab "SEE JOHN DOE"
COPIAR [1] temp ; 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
COPIAR temp {AdditionalNameInformation} ; put "SEE JOHN DOE" into column AdditionalNameInformation

PREFIX acción

La acción PREFIX añade datos al principio de una cadena. La fuente de PREFIX puede ser un operando, un literal o una variable de usuario. El objetivo puede ser una variable de usuario o una columna de diccionario.


COPY "CHARLES" temp
PREFIX "SAINT" temp

En el ejemplo anterior, la variable temp contiene SAINTCHARLES.

PREFIX permite rangos de subcadenas. Por ejemplo, en el siguiente ejemplo:


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

Desde la posición 3 hasta la penúltima posición del primer operando se antepone la columna del nombre de la calle.

PREFIX_A antepone la abreviatura estándar en lugar de los datos originales del token. La fuente debe ser un operando. PREFIX_A permite rangos de subcadenas; sin embargo, la subcadena se refiere a la abreviatura estándar y no al token original.

PREFIX_I antepone las iniciales en lugar de los datos originales del token. Puede utilizar PREFIX_I como una acción de POST donde el origen debe ser una columna de diccionario y el destino debe ser una columna de diccionario.

PREFIX_I, cuando no se utiliza como acción POST , permite rangos de subcadenas con la subcadena referida a las iniciales y no al token original. En la mayoría de los casos, hay una sola inicial, pero para las cadenas de varios tokens, como John Henry Smith, las iniciales son JHS, y los rangos de subcadenas distintos de (1:1) tienen sentido.

Más información sobre la acción PREFIX y los espacios: Cuando la fuente es una variable de usuario, la acción PREFIX conserva los espacios dentro del token. Cuando el origen es un operando, la acción PREFIX no conserva los espacios dentro del token.

PREFIX no permite conservar los espacios entre las fichas que coinciden con ? o ** en una declaración de patrón como la acción COPY_S . Para conservar los espacios entre los tokens, debe utilizar COPY_S para copiar los tokens a una variable de usuario y el prefijo o concatenar esa variable de usuario. Consulte el ejemplo anterior de conjunto patrón-acción.