Substitua tudo, “Mas” Regex Notepad ++

1

Eu tenho um arquivo de texto com linhas parecidas com a seguinte: ('8510851205', 'needthis', '', ''), Preciso remover tudo e deixar apenas precisar disso em cada linha. Como eu faria isso:?

    
por Lottex 13.04.2014 / 01:55

2 respostas

0

Aqui está o que eu faria.

  1. Pesquise por (modo de pesquisa: expressão regular):. ', \ s' Substitua por: \ n
  2. Na janela de localização, na guia "Marcar", marque (caixa de seleção) todas as linhas com um apóstrofo nelas
  3. a) No menu Pesquisar, escolha Marcador e, em seguida, "Marcador inverso"
  4. a) Neste ponto, você deve ter suas duas linhas marcadas; você pode voltar para o mesmo Search - > Menu de favoritos e recortar / copiar linhas marcadas

3b) No menu de busca, escolha "Remover Linhas Marcadas", que deixará apenas os dois bits em que você está interessado

3b.

    
por 14.04.2014 / 06:42
0

Aqui está o regex simples que você está procurando.

Em N ++, selecione a aba Replace na janela Find. Marque a caixa "Regular Expressions".

Encontrar:

^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*''){2}\),?\s*$

Substituir:


Clique no botão "Substituir tudo".

Como exemplo, eu corri isto neste arquivo:

('8510851205', 'needthishere', '', '')
('2120986452', 'slthornton', '', ''), 
('2121111111', 'strict_daddy4u', '', '')

A saída:

needthishere
slthornton
strict_daddy4u

Eu poderia ter diminuído, mas queria ter certeza de que combinamos o conjunto completo de quatro strings, caso você tenha parênteses diferentes. Por favor note que isto assume especificamente que as terceira e quarta cadeias estão vazias. Se você quiser permitir caracteres nessas strings, use isso:

^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*'[^']*'){2}\),?\s*$

Desejando-lhe uma ótima semana!

    
por 14.04.2014 / 06:48