REPLACE
Substitui L caracteres da string IN1 pela string IN2, iniciando na posição P. É uma função pura (sem estado; retorna o resultado diretamente).
Biblioteca: IEC_STD · Namespace: IEC · Tipo: função
Função
REPLACE
+-------------+
ANY_STRING ---|IN1 |--- ANY_STRING
| |
ANY_STRING ---|IN2 |
| |
ANY_INT ---|L |
| |
ANY_INT ---|P |
+-------------+
Nota
Caso as strings IN1 ou IN2 sejam inválidas a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.
Caso o valor de L seja menor que zero a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.
Caso o valor de P seja menor que L a string de saída não será alterada e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.
Caso a operação resulte em uma string maior que a capacidade da string de saída o processo será cancelado e o tipo de erro gerado pode ser obtido através da função GET_SYSTEM_ERR.
Parâmetros
Nome |
Direção |
Tipo |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|
IN1 |
IN |
ANY_STRING |
— |
String a ser substituída. |
IN2 |
IN |
ANY_STRING |
— |
String a ser inserida. |
L |
IN |
ANY_INT |
— |
Tamanho de IN1 a ser removido a partir de P. |
P |
IN |
ANY_INT |
— |
Posição inicial de IN1 para a substituição. |
Retorno / Saídas
Tipo |
Faixa / Unidade |
Descrição |
|---|---|---|
ANY_STRING |
— |
String resultante da operação. |
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
value_in1 : STRING; (* valor do operando de entrada 1 *)
value_in2 : STRING; (* valor do operando de entrada 2 *)
value_out : STRING; (* valor resultante da operação *)
value_l : INT; (* tamanho a ser removido *)
value_p : INT; (* posição de inserção *)
END_VAR
(* Exemplo de ativação da função dentro da POU *)
(* ... *)
value_in1 := 'ABCD'; (* STRING a ser fornecido *)
value_in2 := 'EFGH'; (* STRING a ser fornecido *)
value_l := 1; (* Valor a ser fornecido *)
value_p := 2; (* Valor a ser fornecido *)
value_out := REPLACE(IN1 := value_in1, IN2 := value_in2, L := value_l, P := value_p);
(* resultado value_out = 'AEFGHCD' *)
(* ... *)