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. Introduza uma dos seguintes opções: 0: Sensível a maiúsculas e 1: Não sensível a maiúsculas |
Notas: 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 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.
Utilize REGEXREPLACE para anonimizar números de telefone ao substituir os primeiros 3 dígitos por ***, utilizando o padrão
"[0-9]+-"
Data |
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.
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.
Data |
SoniaBrown |
Fórmulas |
=REGEXREPLACE(A2,"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1") |
A ilustração seguinte mostra os resultados.