Funções de String
📋 Visão Geral
Strings são onipresentes em ABAP: nomes, IDs, descrições, mensagens. Esta página reúne as funções e técnicas mais úteis para manipular texto com segurança e desempenho.
Operações Básicas
- CONCATENAR:
CONCATENATEou templates - DIVIDIR:
SPLIT - SUBSTRING:
+/( )ouCONDENSE/SHIFT - REPLACE:
REPLACEouREPLACE ALL OCCURRENCES OF - COMPARAR:
=sensível,=/NEcomTO_LOWER
Exemplos
DATA(lv1) = 'ABAP'.
DATA(lv2) = 'Rocks'.
" Template (moderno)
DATA(lv_concat) = |{ lv1 } { lv2 }|.
" CONCATENATE (legacy)
CONCATENATE lv1 lv2 INTO DATA(lv_cat2) SEPARATED BY ' '.
" SPLIT
SPLIT lv_concat AT ' ' INTO TABLE DATA(lt_parts).
Funções Úteis (ABAP 7.40+)
CONDENSEremove espaços extrasTRANSLATEpara upper/lowerFINDpara procurar substringsREPLACEpara substituirREGEXcomFIND REGEXeREPLACE REGEX
" Remover espaços
CONDENSE lv_concat.
" Procurar
FIND 'Rocks' IN lv_concat.
IF sy-subrc = 0.
" achou
ENDIF.
" Regex
FIND REGEX 'ABAP\s+Rocks' IN lv_concat.
Strings e Performance
- Evite concatenações repetidas em loops (use
STRING( )temporário oucl_abap_string_utilsse disponível). - Prefira templates (
|{ var }|) em vez deCONCATENATEpara clareza.
Internacionalização e Encoding
- Use tipos
stringpara texto Unicode. - Para manipular bytes use
xstring. - Ao trabalhar com arquivos, converta entre
stringexstringconforme necessário.
Boas Práticas
- Valide tamanho antes de gravar em campos de base de dados (ex:
CHAR10). - Use
REPLACE ALL OCCURRENCES OFpara substituições massivas. - Para parsing complexo, prefira
FIND REGEXe grupos de captura.
Próximos passos
2_data_hora.md— formatação de datas3_conversoes.md— conversões entre tipos
Tags: #strings #text-processing #regex