A função REGEXREPLACE permite-lhe substituir texto de uma cadeia por outra cadeia, com base numa expressão regular fornecida ("regex").
Sintaxe
A função REGEXREPLACE substitui as cadeias no texto fornecido que correspondem ao padrão com substituição.
A sintaxe da função REGEXEXTRACT é:
REGEXREPLACE(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 cadeias. |
|
padrão (obrigatório) |
A expressão regular ("regex") que descreve o padrão de texto que pretende substituir. |
|
substituição (obrigatório) |
O texto que pretende substituir instâncias de padrão. |
| ocorrência | Especifica a instância do padrão que pretende substituir. Por predefinição, a ocorrência é 0, que substitui todas as instâncias. Um número negativo substitui essa instância, procurando 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. Insira uma das seguintes opções: 0: Sensível a maiúsculas e 1: Não sensível a maiúsculas |
Observação
Ao escrever padrões regex, os símbolos denominados "tokens" podem ser utilizados que correspondem a uma variedade de carateres. Estes são alguns tokens simples para referência:
- "[0-9]": qualquer dígito 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 , utilizam o "sabor" PCRE2 do regex.
- REGEXEXTRACT devolve sempre valores de texto. Pode converter estes resultados novamente num número com a função VALOR.
Exemplos
Copie os dados de exemplo e cole-os na célula A1 de uma nova planilha do Excel. Se precisar, você poderá ajustar as larguras das colunas para ver todos os dados.
Exemplo 1
Utilize REGEXREPLACE para anonimizar números de telefone ao substituir os primeiros 3 dígitos por ***, utilizando o padrão
"[0-9]+-"
| Dados |
|---|
| Sonia Rees(378) 555-4195 Angel Brown(878) 555-8622 Blake Martin(437) 555-8987 William Kirby(619) 555-4212 Avery Smith(579) 555-5658 Parker Jones(346) 555-0925 Liam Small(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
Utilize REGEXREPLACE com grupos de captura para separar e reordenar o nome e o apelido especificados, utilizando o padrão: "([A-Z][a-z]+)([A-Z][a-z]+)"; e substituição: "$2, $1".
Nota: 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 referenciam o primeiro e segundo grupos de captura, respetivamente.
| Dados |
|---|
| SoniaBrown |
| Fórmulas |
| =REGEXREPLACE(A2,"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1") |
A ilustração a seguir mostra os resultados.