Como quebrar linhas em um caractere específico no Notepad ++?


104

Eu tenho um arquivo de texto contendo texto como:

['22APR2012 23:10', '23APR2012 07:10', 1, 3, 0], ['22APR2012 23:10', '23APR2012 07:20', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 
23:15', '23APR2012 06:40', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 23:15', '23APR2012 07:00', 1, 3, 0], ['22APR2012 23:15', '23APR2012 
07:00', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 1, 3, 0], ['22APR2012 23:20', '23APR2012 10:10', 1, 3, 0], 
['22APR2012 23:25', '23APR2012 05:35', 1, 3, 0], 

Eu quero que as linhas quebrem em ],caracteres:

['22APR2012 19:30', '23APR2012 00:25', 0, 1, 0], 
['22APR2012 19:35', '23APR2012 01:45', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 0, 1, 0],
['22APR2012 19:55', '23APR2012 06:25', 1, 3, 0],

Existe uma maneira de fazer isso no Notepad ++ ou em qualquer outro editor?


2
duplicata da pergunta do superusuário
xQbert

1
Você pode me dizer como fazer isso se eu quiser interromper ;? As soluções para ]não estão funcionando para mim
CodyBugstein

na solução aceita, basta substituir '],' por ';'
Aris

Respostas:


181
  1. Clique em Ctrl + h ou Pesquisar -> Substituir no menu superior
  2. No grupo Modo de Pesquisa, selecione Expressão regular
  3. No campo de texto Encontrar, digite ],\s*
  4. No campo Substituir por texto, digite ],\n
  5. Clique em Substituir tudo

12
Para fazer isso funcionar no Notepad ++ versão 6.7.8.2, tive que usar o modo Extended Search, em vez da Expressão regular.
AJefferiss de

4
Também tive que usar o Extended, porém para uma única quebra de linha \nfoi necessário apenas.
jarmerson

16

Vamos supor que ],é o personagem onde queríamos quebrar

  1. Abrir notePad++
  2. Abra Find windowCtrl + F
  3. Mudar para Replaceguia
  4. Escolha Search ModeparaExtended
  5. Digite ],no Find Whatcampo
  6. Digite \nno Replace withcampo
  7. Acertar Replace All
  8. estrondo

4
6. Digite \r\nno Replace withcampo
Bob Stein

Para ser visualizado no Windows (ou seja, o Bloco de notas), precisamos \ r \ n. Caso contrário, \ n funciona em qualquer outra plataforma (deve quebrar a linha e continuar abaixo dela).
Salvador Valencia

8

Se o texto contém \ r \ n que precisa ser convertido em novas linhas, use os modos 'Estendido' ou 'Expressão regular' e escape o caractere de barra invertida em 'Encontrar o quê':

Encontre o que: \\ r \\ n

Substitua por: \ r \ n


6

Tente desta forma. Funcionou para mim

  1. Abra o Notepad ++ e copie seu conteúdo
  2. pressione ctrl + h
  3. Encontre o que deveria ser , (vírgula) ou qualquer caractere que você deseja substituir
  4. Substituir por deve ser \ n
  5. Selecione Modo de pesquisa -> Estendido (\ n, \ r, \ t, \ 0)
  6. Em seguida, clique em Substituir tudo

2

Não tenho ideia de como isso pode funcionar automaticamente, mas você pode copiar "]," junto com a nova linha e usar a função de substituição.


2

Se você deseja obter uma string separada por vírgulas em uma coluna com CR LF, não será possível fazer isso no Notepad ++, supondo que você não queira escrever código, você pode manipulá-lo no Microsoft Excel.

Se você copiar sua string para o local B1:

A2 =LEFT(B1,FIND(",",B1)-1)
B2 =MID(B1,FIND(",",B1)+1,10000)

Selecione A2 e B2, copie o código para células sucessivas (arrastando):

A3 =LEFT(B2,FIND(",",B2)-1)
B3 =MID(B2,FIND(",",B2)+1,10000)

Quando você obtiver #VALUE! na última célula da coluna A substitua-o pelo valor de B das linhas anteriores.

No final, sua coluna A conterá o texto desejado. Copie e cole onde desejar.


1
Solução muito inventiva!
diego nunes

5
"você não poderá fazer isso no Notepad ++" - isso não é verdade. Use reg exp como creemama explicado acima. Funciona perfeitamente.
mentallurg
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.