concat, join e split
concat junta textos, join junta os itens de uma lista em um texto, e split faz o caminho inverso, dividindo um texto em uma lista. Juntas, resolvem a maior parte da montagem de mensagens e do tratamento de respostas de formulário.
Sintaxe
concat(texto1, texto2, …) join(lista, separador) split(texto, separador)
Exemplos testados
| Expressão | Resultado |
|---|---|
concat('Olá, ', outputs('Dados')?['nome'])com nome = Ana | Olá, Ana |
concat('a', 1)números viram texto | a1 |
concat('a', outputs('Dados')?['apelido'], 'b')com apelido nulo: nulo vira nada | ab |
join(createArray('a','b','c'), ', ') | a, b, c |
join(createArray(1,2,3), '-') | 1-2-3 |
split('a;b;c', ';') | ["a","b","c"] |
split('abc', ';')sem o separador: lista de 1 item | ["abc"] |
length(split('a;b;c', ';'))conta os itens | 3 |
join(json(outputs('Dados')?['multiTexto']), ', ')resposta do Forms em texto de lista | Cimento, Areia |
string(outputs('Dados')?['apelido'])string de nulo é texto vazio | (texto vazio) |
Quando usar
Use concat para montar mensagens, títulos de aprovação e caminhos de arquivo; join para transformar uma lista em um texto legível (as opções marcadas em um formulário, os nomes de vários responsáveis); e split para o caminho inverso, quando um campo guarda vários valores separados por ponto e vírgula. Combine com length para contar itens, first e last para pegar pontas e trim para limpar espaços de cada item. Em mensagens importantes, não deixe campos nulos passarem em silêncio: como o nulo vira nada, uma frase como "Prezado ," sai sem aviso. Valide os campos críticos antes de montar o texto final.
Armadilhas
- Nulo vira nada, não a palavra "null". Útil, mas esconde campos faltando: valide antes de montar mensagens importantes.
joinexige uma lista. Se a resposta chega como texto no formato de lista (como no Forms), converta comjson()antes.splitsempre devolve uma lista, mesmo sem o separador. Usefirst()para pegar o primeiro item.- Quebra de linha em e-mail HTML não vem do
concat: use<br>no texto.
Perguntas frequentes
Como juntar as respostas de múltipla escolha do Forms?
Veja o guia do Forms: depende de a resposta chegar como lista ou como texto.
Como pegar só o último item de um split?
last(split(texto, ';')).