Free Trial

Fórum

SOLUCIONADO

Dúvida com separação em RegEx

TafarelG
Átomo

Boa noite, tudo bem?
Estou com dificuldade em uma separação de telefones utilizando a ferramenta RegEx. e preciso de ajuda.

Criei um exemplo fictício para demonstrar como está disponível a informação CPF, (DDD)TELEFONE.

 

Os telefones não possuem separador e sempre iniciam com celulares (11 dígitos) e podem ou não ter um telefone fixo (10 dígitos) (se houver fixo, estará sempre no final da linha). Conforme abaixo:

TafarelG_0-1642215269632.png

Utilizei RegEx com a sintaxe " (^.{11})*(.{10,11})* " para desagrupar o 1º número com 11dig e o 2º para ter entre 10~11dig

TafarelG_1-1642215435005.png

O Problema: Cada CPF pode ter até 10 celulares + fixos atrelados e não sei continuar a expressão para os demais números serem separados. Alguém tem uma dica ou outra maneira de fazer esta separação?

Desde já agradeço a atenção.

3 RESPOSTAS 3
TafarelG
Átomo

Boa tarde,

Após ler alguns artigos sobre e MUITAS tentativas depois, desisti *temporariamente* do RegEx e criei a separação com a formula usando Substring:

TafarelG_0-1642448057924.pngTafarelG_1-1642448087668.png

 

E utilizei um Texto para colunas com "\s"

 

TafarelG_2-1642448250715.png

 

Problema foi temporariamente resolvido mas caso queiram compartilhar outros métodos de solução para este caso, seria ótimo.

Thableaus
17 - Castor
17 - Castor

Opa @TafarelG  beleza?

 

O segredo aqui é usar a ferramenta REGEX em modo Tokenize e dividir em linhas (Split to Rows).

 

Thableaus_0-1642451028464.png

 

Se você memoriza a ordem das linhas com Record ID, fica mais fácil de fazer o tracking.

Além disso, com o modo tokenize e a expressão (\d{10,11}), o que vai acontecer é que ele vai tentar colocar em uma linha primeiro 11 dígitos, quando não der mais pra colocar os 11, ele tentará 10 (e aí já estaremos no último número, que você afirmou ser o telefone fixo).

 

Depois disso, é só criar uma regra usando o Multi-Row + Tile Tool pra dizer se aquilo é um celular e qual celular é, e se tiver tamanho de 10 dígitos e for o último da linha, seria telefone. Daí se faz o Cross-Tab pra colocar isso em colunas e se chega a esse formato:

 

Thableaus_1-1642451247853.png

 

 

Veja o fluxo em anexo (substituir o arquivo input, fiquei com preguica de subir o yxzp hahaa).

 

Abs,

 

 

TafarelG
Átomo

@Thableaus

 

Muito obrigado, o tokenizar + Title tool + Multi Row já deixam a informação da maneira que preciso usar!!

Rótulos