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.
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.