Extraer cadena (Centro)

Extrae una cadena de una posición deseada.

Bloque
Texto

TARGET = substring(INPUT, STARTPOSITION, COUNT);
  1                  4          2          3

# Descripción
1 [Datos de destino]
Establezca el destino donde desea almacenar la cadena extraída.
2 [Start position]
Valor entero que especifica el punto de inicio para la extracción de la cadena. El valor debe ser mayor o igual que 1 y menor o igual que la posición inicial extraíble.
3 [Number of characters]

Defina el número de caracteres a extraer. El valor debe ser mayor o igual que 1, y menor o igual que el número de caracteres que se pueden extraer.

Los caracteres de doble byte se cuentan como un solo carácter.

4 [Datos de origen]
Defina el destino donde se almacena la cadena a extraer.

(Ejemplo)

Bloque

Texto

Var4 = substring(Var3,Var5,Var1);

Ejemplo de operación

Variable en [Source Data]

[Start position]

[Number of characters]

Variable en [Destination Data]

Comentarios

Cadena de destino

Número máximo de bytes Cadena extraída para almacenar
ABCDE 2 3 5BCD -
4 3 5(ninguno)
No se almacena una cadena porque el [Number of characters] supera el número de caracteres recuperables. Se considera como fallido en la operación "Resultado de la operación".
6 3 5(ninguno)
No se almacena una cadena porque la [Start position] excede la posición de inicio disponible. Se considera fallida en el "Resultado de la operación".
0 3 5(ninguno)
No se almacena una cadena porque la [Start position] es menor que 1. Se considera fallida en el "Resultado de la operación".
-1 3 5(ninguno)
No se almacena una cadena porque la [Start position] es menor que 1. Se considera fallida en el "Resultado de la operación".
4 0 5(ninguno)
No se almacena una cadena porque el [Number of characters] es menor que 1. Se considera como fallido en la operación "Resultado de la operación".
4 -1 5(ninguno)
No se almacena una cadena porque el [Number of characters] es menor que 1. Se considera como fallido en la operación "Resultado de la operación".
2.1 3 5BCD La parte decimal de la [Start Position] está truncada.
2 3,5 5BCD
Los valores a la derecha de la coma decimal en [Number of characters] se eliminan.
ABCDEF 1 6 5(ninguno)
No se almacena una cadena porque la cadena convertida ha superado el número máximo de bytes que se pueden almacenar. Se considera como fallido en la operación "Resultado de la operación".
AB(0x00)CDE 2 3 5(ninguno)
No se almacena una cadena. Si hay un NULL (0x00), la cadena se termina ahí. Como resultado, el [Número de caracteres] supera el número de caracteres recuperables. Se considera como fallido en la operación "Resultado de la operación".
4 3 5(ninguno)
No se almacena una cadena. Si hay un NULL (0x00), la cadena se termina ahí. Como resultado, la [Start position] excede la posición de inicio disponible. Se considera fallida en el "Resultado de la operación".
AあB 1 3 5AあB
La cadena se almacena según el [Number of characters]. *1
2 3 5(ninguno)
No se almacena una cadena porque el [Number of characters] supera el número de caracteres recuperables. Se considera como fallido en la operación "Resultado de la operación".
2 2 5あB
La cadena se almacena según el [Number of characters]. *1

*1 Si el número máximo de bytes de la variable [Destination data] es inferior al tamaño de la cadena recuperada, la operación fallará. El número máximo de bytes depende de la codificación de la variable de [Destination Data].