Excluindo todas as quebras de linha entre duas variáveis correspondentes no notepad ++

1

Então eu estou tentando fazer uma mesa com um monte de texto, mas isso está me dando dor de cabeça. Basicamente, aqui está uma ideia do que está acontecendo:

    matchingvariablelengthupccode1 productdescription1 value value value value value value value value matchingvariablelengthupccode1

matchingvariablelengthupccode2 product
description2 value value value value value value value value value matchingvariablelengthupccode2

E a descrição do produto, por vezes, aleatoriamente tem quebras de linha. Também o upc no final e no começo se combinam, mas são exclusivos para cada produto.

Mesmo depois de lidar com isso, terei que descobrir como lidar com as descrições de produtos que possuem espaços, mas que devem ser uma coluna quando os valores e códigos upc já estiverem delimitados por espaço. Além disso, as descrições dos produtos começam às vezes com um número para tornar as coisas mais difíceis.

Tentando usar o regex no notepad ++, mas é um problema muito complicado.

    
por Areck Degeneffe 09.02.2017 / 23:32

1 resposta

0

Existe um caminho sem programação.

Parte 1: Coloque cada registro em uma única linha substituindo as quebras de linha nas descrições dos itens por espaços.

Parte 2: Remover códigos UPC finais.

Parte 3: Converta as primeiras N palavras delimitadas por espaços em colunas, descanse (> N) na última coluna.

Preparação: Use o comando Localizar (defina Modo de pesquisa para Normal ) para encontrar um caractere único que não esteja ocorrendo o arquivo. Eu usarei # . Se você encontrou outro, ajuste os passos abaixo de acordo.

Parte 1:

Etapa 1:

Use regex find / replace:

Encontre o que: (\R)(\d+\l* )

Substitua por: # (observe nosso caractere especial)

Modo de pesquisa: expressão regular

". corresponde à nova linha": desmarcado

→ Cada código UPC tem o prefixo # neste ponto no início da linha.

Etapa 2:

Encontre o que: \R

Substitua por: (espaço simples)

Modo de pesquisa: expressão regular

". corresponde à nova linha": desmarcado

→ Todo o texto é agora uma única linha.

Etapa 3:

Encontre o que: # (note nosso caráter especial)

Substitua por: \r\n

Modo de pesquisa: expressão regular

". corresponde à nova linha": desmarcado

→ Todos os registros estão agora em suas linhas. Corrija as exceções manualmente, se houver alguma.

Parte 2:

Etapa 1:

Use regex find / replace:

Encontre o que: ^(.*) (.*)$

Substitua por:

Modo de pesquisa: expressão regular

". corresponde à nova linha": desmarcado

→ A última palavra de cada registro (supostamente era o código UPC) foi removida.

Parte 3:

Etapa 1:

Use regex find / replace:

Encontre o que: ^(.*?) (há espaço único após ) )

Substitua por: # (observe nosso caractere especial)

Modo de pesquisa: expressão regular

". corresponde à nova linha": desmarcado

→ O primeiro espaço na linha agora é # .

Etapa 2:

Repita a Etapa 1 até que todos os espaços entre as colunas (mas não nas descrições dos produtos) sejam transformados em # 's.

→ Os espaços estão agora apenas nas descrições dos produtos. Há # entre todas as colunas.

Etapa 3:

Cole todos os registros no Microsoft Excel e use o Assistente de importação de texto para importar seus valores para a tabela.

Tipo de dados: Delimitado (largura não fixa)

Delimitador: Outro: # (defina todas as outras opções de delimitador desmarcadas!)

→ Você tem seus dados em colunas no Excel.

    
por 10.02.2017 / 20:18