Extrair string do meio

Extrai uma string de uma posição desejada.

Bloco
Texto

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

# Descrição
1 [Destination Data] Defina o destino onde deseja armazenar a string extraída.
2 [Start position] Valor inteiro que especifica o ponto inicial para extração de string. O valor deve ser maior ou igual a 1 e menor ou igual à posição inicial extraível.
3 [Number of characters]

Defina o número de caracteres a extrair. O valor deve ser maior ou igual a 1 e menor ou igual ao número de caracteres que podem ser extraídos.

Os caracteres de byte-duplo são contados como um único caractere.

4 [Source Data] Defina os dados de origem onde a string a ser extraída é armazenada.

(Exemplo)

Bloco

Texto

Var4 = substring(Var3,Var5,Var1);

Exemplo de operação

Variável em [Source Data]

[Start position]

[Number of characters]

Variável em [Destination Data]

Comentários

String de terminal

Número máximo de bytes String extraída para armazenar
ABCDE 2 3 5BCD -
4 3 5(nenhum)
Uma string não é armazenada porque o [Number of characters] excede o número de caracteres recuperáveis. É julgado como falha na operação "Resultado da operação".
6 3 5(nenhum)
Uma string não é armazenada porque a [Start position] excede a posição inicial disponível. É julgado como facassado na operação "Resultado da operação".
0 3 5(nenhum)
Uma string não é armazenada porque a [Start Position] é menor que 1. É julgado como facassado na operação "Resultado da operação".
-1 3 5(nenhum)
Uma string não é armazenada porque a [Start Position] é menor que 1. É julgado como facassado na operação "Resultado da operação".
4 0 5(nenhum)
Uma string não é armazenada porque o [Number of characters] é menor que 1. É julgado como falha na operação "Resultado da operação".
4 -1 5(nenhum)
Uma string não é armazenada porque o [Number of characters] é menor que 1. É julgado como falha na operação "Resultado da operação".
2.1 3 5BCD A parte decimal da [Start Position] é truncada.
2 3.5 5BCD
Os valores à direita do ponto decimal em [Number of characters] são descartados.
ABCDEF 1 6 5(nenhum)
Uma string não é armazenada porque a string convertida excedeu o número máximo de bytes que podem ser armazenados. É julgado como falha na operação "Resultado da operação".
AB(0x00)CDE 2 3 5(nenhum)
Uma string não é armazenada. Se houver um NULO (0x00), a string será encerrada lá. Como resultado, o [Número de caracteres] excede o número de caracteres recuperáveis. É julgado como falha na operação "Resultado da operação".
4 3 5(nenhum)
Uma string não é armazenada. Se houver um NULO (0x00), a string será encerrada lá. Como resultado, a [Start position] excede a posição inicial disponível. É julgado como facassado na operação "Resultado da operação".
AあB 1 3 5AあB
A string é armazenada com base no [Number of characters]. *1
2 3 5(nenhum)
Uma string não é armazenada porque o [Number of characters] excede o número de caracteres recuperáveis. É julgado como falha na operação "Resultado da operação".
2 2 5あB
A string é armazenada com base no [Number of characters]. *1
*1 Se o número máximo de bytes na variável [Destination Data] for menor que o tamanho da string recuperada, a operação falhará. O número máximo de bytes depende da codificação da variável [Destination Data].