ReplaceRegExGroup() retorna uma string após substituir uma ou mais correspondências entre uma string de entrada e o padrão de expressão regular composta especificado. O texto que substitui o texto correspondente é especificado no argumento to_str. A função funciona da esquerda para a direita, mas, se você especificar um valor de occurrence negativo, as funções serão lidas da direita para a esquerda.
Essa função executa operações regex que diferenciam maiúsculas de minúsculas. Como alternativa, você pode usar a variante ReplaceRegExGroupI() para realizar operações de regex sem distinção entre maiúsculas e minúsculas.
Sintaxe:
ReplaceRegExGroup
(text, regex, to_str, group [, occurrence])
Tipo de dados de retorno: caractere
Argumentos
Argumento
Descrição
text
O texto da string de entrada que você deseja substituir, total ou parcialmente, pelo novo texto de to_str.
regex
A expressão regular que define quando substituir o texto. As correspondências entre esse argumento e o argumento text são substituídas.
to_str
O novo texto que você deseja usar para substituir o conteúdo existente em text.
group
O número do grupo, no caso de uma expressão regular composta.
Se a expressão regular contiver apenas um grupo, use a função ReplaceRegEx() em vez disso. Como alternativa, use ReplaceRegExGroup() com um valor para group de 0.
Você pode especificar um valor de group negativo para pesquisar grupos da direita para a esquerda.
occurrence
O número da correspondência (entre o texto de entrada e a expressão regular) a ser substituída pelo novo texto.
Este é um argumento opcional. O padrão é 0 se for omitido. Quando um valor de 0 é usado, ou se o argumento for omitido, todas as correspondências entre text e regex são substituídas por to_str.
Você pode especificar um valor negativo para occurrence se quiser identificar correspondências da direita para a esquerda.
Retorna abc123abx123. Há duas correspondências entre o primeiro grupo do texto de entrada e o padrão regex. No entanto, apenas a segunda ocorrência é substituída.
Retorna ABC123ABC123. Em outras palavras, nenhum texto é substituído. Isso ocorre porque a função diferencia maiúsculas de minúsculas, e a variante da função que não diferencia maiúsculas de minúsculas não é usada.
Retorna ABx123ABx123. Neste exemplo, a substituição de texto ocorre porque a variante da função que não diferencia maiúsculas de minúsculas, ReplaceRegExGroupI(), é usada.
Quando usar
Você pode usar ReplaceRegExGroup() para modificar texto para atender aos padrões de formatação e conformidade, especialmente quando precisar identificar padrões complexos em dados. O argumento adicional group para essa função permite atualizar apenas determinadas partes de um padrão de texto maior. Por exemplo, você pode atualizar partes específicas de uma URL.
Se necessário, você também pode usar esse recurso para mascarar informações confidenciais, como informações de identificação pessoal (PII), para que elas não sejam mostradas aos usuários que analisam seu aplicativo.
Exemplo 1 – script de carregamento para atualizar o domínio em URLs
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Uma tabela URLs que inicialmente contém uma lista de strings de entrada nas quais queremos identificar e atualizar URLs específicas. Queremos atualizar o domínio nessas URLs.
A criação de um campo, ResourceURL_Updated, que contém texto de entrada modificado com as URLs processadas.
Uma variávelURL_RegEx para armazenar a expressão regular usada para identificar URLs a serem processadas.
Nossos requisitos:
Cada string de entrada contém duas URLs, com a URL do recurso especificada na primeira URL. Não queremos atualizar nenhuma URL que não seja a primeira listada.
A URL a ser atualizada precisa estar no formato <https ou https>://<domínio>.com/<caminho do recurso>. O caminho do recurso é opcional, mas não é usado neste exemplo.
Script de carregamento
Set URL_RegEx = '(https?):\/\/(([a-zA-Z0-9]+)\.([a-zA-Z0-9]*)\.??([a-zA-Z0-9]*))\/?((([a-zA-Z0-9]*)*)((\/?([a-zA-Z0-9]*)*))*)\/{0,1}([\.,;]+(?=\s))*?';
URLs:
Load
ReplaceRegExGroup(URLsList, '$(URL_RegEx)', 'replacement-server', 2,1) as ResourceURL_Updated;
Load * Inline `
URLsList
The resource is located at https://testserver.com/files. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/worksheet. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/book. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/form. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/datamodel. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/resourcenew. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/page. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/page/overview. For more help, see: https://support.company.com.
` (delimiter is '\t');
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
ResourceURL_Updated
Tabela de resultados
ResourceURL_Updated
The resource is located at https://replacement-server/datamodel. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files/book. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files/form. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files/worksheet. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/page. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/page/overview. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/resourcenew. For more help, see: https://support.company.com.
Exemplo 2 – expressão de gráfico para atualizar o protocolo em URLs
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Uma tabela URLsList contendo uma lista de strings de entrada nas quais queremos identificar e atualizar URLs específicas. Queremos atualizar o protocolo de http para https nos links para o site de Suporte.
Nossos requisitos:
Cada string de entrada contém duas URLs, com o link do site de Suporte aparecendo como a segunda URL. Não queremos atualizar nenhuma URL além da segunda URL.
A URL a ser atualizada precisa estar no formato <https ou https>://<domínio>.com/<caminho do recurso>. O caminho do recurso é opcional, mas não é usado neste exemplo.
Script de carregamento
URLs:
Load * Inline `
URLsList
The resource is located at https://testserver.com/files. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/worksheet. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/book. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/form. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/datamodel. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/resourcenew. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/page. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/page/overview. For more help, see: http://support.company.com.
` (delimiter is '\t');
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!