# Extrair string (Esquerda/Direita)

Extrai uma string da borda esquerda ou direita.

##### Bloco

##### Texto

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

# | Descrição
1 | [Destination Data] Defina o destino onde deseja armazenar a string extraída.
2 | Direção para extrair a string ##### Bloco [FromLeft] [FromRight] ##### Texto 'substringFromLeft' 'substringFromRight' Selecione a direção usada para extrair a string. (Exemplo) String: "ABCDE", [Number of characters]: 3 caracteres Vermelhos são extraídos. Quando [FromLeft] é selecionado: ABC DE Quando [FromRight] é selecionado: AB CDE
3 | [Number of characters] Defina um bloco que especifica o número de caracteres a serem extraídos. 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 = substringFromLeft(Var3,Var1);

## Exemplo de operação

Variável em [Source Data] | [Way to extract] | [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 | FromLeft | 3 | 5 | ABC | -
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".
3.6 | 5 | ABC | Os valores à direita do ponto decimal em [Number of characters] são descartados.
FromRight | 3 | 5 | CDE | -
-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".
3.7 | 5 | CDE | Os valores à direita do ponto decimal em [Number of characters] são descartados.
AB | FromLeft | 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".
FromRight | 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".
ABCD(0x00)C | FromRight | 3 | 5 | BCD | Se houver um NULO (0x00), a string será encerrada lá.
AB(0x00)CD | FromLeft | 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".
AB(0x00)CDEF | FromRight | 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".
ABCDEFGH | FromLeft | 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".
FromRight | 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".
AあB | FromLeft | 3 | 5 | AあB | A string é armazenada com base no [Number of characters]. *1
FromRight | 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].