Função REGEX.SUBSTITUIR

Aplica-se A
Excel para Microsoft 365 Excel para Microsoft 365 para Mac

A função REGEXSUBSTITUIR permite-lhe substituir o texto de uma cadeia por outra cadeia, com base numa expressão regular ("regex") fornecida.

Sintaxe

A função REGEX.SUBSTITUIR substitui cadeias no texto fornecido que correspondem ao padrão com substituição.

A sintaxe da função REGEX.EXTRAIR é:

REGEXSUBSTITUIR(texto, padrão, substituição, [ocorrência], [case_sensitivity])

Argumento Descrição
texto
(obrigatório)
É o texto ou a referência a uma célula que contém o texto no qual pretende substituir as cadeias.
padrão
(obrigatório)
A expressão regular ("regex") que descreve o padrão do texto que pretende substituir.
substituição
(obrigatório)
É o texto que pretende substituir instâncias de padrão.
ocorrência Especifica qual instância do padrão você deseja substituir. Por padrão, a ocorrência é 0, que substitui todas as instâncias. Um número negativo substitui essa instância, pesquisando a partir do fim.
case_sensitivity Determina se a correspondência é sensível às maiúsculas e minúsculas. Por predefinição, a correspondência é sensível às maiúsculas e minúsculas. Introduza uma dos seguintes opções:
0: Sensível a maiúsculas
1: Não sensível a maiúsculas e minú

Nota

Ao escrever padrões de regex, símbolos chamados 'tokens' podem ser usados que combinam com uma variedade de caracteres. Estes são alguns tokens simples para referência:

  • "[0-9]": qualquer algarismo numérico
  • "[a-z]": um caráter no intervalo de a a z
  • ".": qualquer caráter
  • "a": o caráter "a"
  • "a*": zero ou mais "a"
  • "a+": um ou mais "a"
  • Todas as expressões regulares para esta função, bem como REGEXTEST e REGEXEXTRACT usam o "sabor" PCRE2 do regex.
  • REGEX.EXTRACT sempre retorna valores de texto. Pode converter estes resultados num número com a função VALOR.

Exemplos

Copie os dados de exemplo e copie-os na célula A1 de uma nova folha de cálculo do Excel. Se quiser, pode ajustar as larguras das colunas para ver todos os dados.

Exemplo 1

Utilize REGEX.REPLACE para tornar anonimizar números de telefone ao substituir os primeiros 3 dígitos por ***, utilizando padrão

"[0-9]+-"

Dados
Sónia Rees(378) 555-4195
Anjo Castanho(878) 555-8622
Blake Martin(437) 555-8987
Guilherme Kirby(619) 555-4212
Avery Silva(579) 555-5658
Parker Jones(346) 555-0925
Liam Pequeno(405) 555-0887
Hollie Rees(666) 555-1872
Fórmulas
=REGEXREPLACE(A2,"[0-9]+-","***-")

A ilustração seguinte mostra o resultado. Terá de moldar texto na célula A4 para mostrar as quebras de linha no resultado.

Utilizar REGEX.SUBSTITUIR para substituir os primeiros três dígitos de cada número de telefone em texto misto por *, utilizando o padrão [0-9]+-

Exemplo 2

Use REGEX.SUBSTITUIR com grupos de captura para separar e reordenar nome próprio e sobrenome, usando padrão: "([A-Z][a-z]+)([A-Z][a-z]+)"; e substituição: "$2, $1".

Observação: Os grupos de captura são definidos em padrão com parênteses "()", e podem ser referenciados em substituição como "$n". Neste exemplo, $1 e $2 fazem referência ao primeiro e segundo grupos de captura, respetivamente.

Dados
Sónia Castanho
Fórmulas
=REGEXREPLACE(A2,"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1")

A ilustração seguinte mostra os resultados.

Use REGEX.SUBSTITUIR com grupos de captura para separar e reordenar nome próprio e sobrenome, usando padrão: ([A-Z][a-z]+)([A-Z][a-z]+) e substituição: $2, $1