Localizar e substituir texto entre ^ e ~ no Notepad ++

18

Eu tenho um arquivo de texto grande onde eu quero remover todo o texto entre o símbolo ^ e o símbolo ~. Isso também precisa funcionar nas linhas.

Eu tentei fazer um Find e Replace regular usando ^*~ na caixa Localizar e nada na caixa Substituir, mas ele encontrou 0 resultados.

    
por Splendor 19.02.2013 / 18:34

4 respostas

19

Isso não é possível com um Localizar e Substituir regular . Se você usa o Notepad ++ 6, você pode aproveitar o novo mecanismo regex que suporta PCRE (source ).

Pressione Ctrl + H para abrir a caixa de diálogo Localizar e substituir e executar a seguinte ação:

Find what:          \^.*?~
Replace with:       
Wrap around:        checked
Regular expression: selected
. matches newline:  checked

Agora pressione Alt + A para substituir todas as ocorrências.

A expressão regular em Encontrar o que é composta da seguinte forma:

  • \^ é um literal ^ .
  • .*? é a menor quantidade de caracteres que permite que a expressão regular corresponda.
  • ~ é um literal ~ .
por 19.02.2013 / 18:39
7

Você vai querer procurar por \^.*?~ e garantir . corresponde a nova linha está ativado:

Issoporque^temumsignificadoespecial,correspondeaoiníciodeumalinha.Assim,precisamosescaparcomumabarrainvertida\^.

Escrever^*corresponderiaa"qualquer número de início de linha em uma linha". .* corresponde a "qualquer caractere", mas por padrão não corresponde a novas linhas.

    
por 19.02.2013 / 18:38
2

Tente usar essa regex na seção de localização \^[^~]*~ para substituir tudo entre ^ e ~ inclusive.

    
por 19.02.2013 / 18:51
0

Eu tive um requisito de substituição semelhante entre os caracteres inicial e final.  Isso veio do e-mail do Outlook; hundereds de membros e eu só queria que os nomes das pessoas com tudo removido entre < RemoveTextHere > .

Original

First1 Last1 <[email protected]>; First2 Last2 <[email protected]>; First3 Last3 <[email protected]>; First4 Last4 <[email protected]>;

Dennis estava perto da minha solução Find what: \^.*?~ , mas eu tive que mudar meus caracteres literais Find what: \<.*?> , então eu tive que remover a primeira barra Find what: <.*?> .

Atualizado Find what: <.*?> ; Substitua vazio.

First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4

_

Caracteres especiais : * , $ , \ , + , ^ , ( e ) , [ , ] , { e }

Caracteres especiais são descritos por Jerry Jeremiah aqui link .

    
por 03.08.2018 / 18:35