como substituir a enésima palavra de um resultado de busca no notepad ++

2

Eu tenho linhas de texto no Notepad ++ como abaixo:

dog cat duck fan dog donkey

Eu quero substituir a segunda ocorrência de palavra dog com peacock, assim como abaixo.

dog cat duck fan peacock donkey
    
por akkuz 12.08.2017 / 21:00

2 respostas

1

Você pode resolver isso com as chamadas expressões regulares , veja abaixo. Não tenho certeza se você está familiarizado com eles, mas a expressão regular (dog.*)(dog) corresponderá a todas as linhas em que a palavra "dog" aparece duas vezes e, com $1peacock , você substitui o resultado da pesquisa pela primeira parte da partida ( dog.* ) seguido por peacock . Certifique-se de definir o Modo de pesquisa na parte inferior da caixa de diálogo para "Expressão regular".

Issoproduziráoseguinteresultado:

    
por 12.08.2017 / 22:54
0

É a enésima palavra ou segunda ocorrência de uma palavra a substituir?

Para o primeiro, use uma expressão regular como essa

Digite CTRL + h para a janela de substituição.

Em Localizar: ^(([^ ]+ ){4})([^ ]+ )(.*)
Substituir por: $1peacock$3
Desmarque todas as caixas e selecione o botão de opção Regular expression

Para explicar o RegEx:

  • ^ âncoras na linha começar, $ no final da linha
  • () constrói um grupo de captura
  • ([^ ]+ ) o [] denota uma classe, o ^ dentro significa uma classe negada, então isso significa - não um espaço, o + reúne pelo menos um, mas o máximo possível. seguido por um espaço. No total, isso corresponderá à primeira palavra.
  • o seguinte {4} obtém 4 palavras e, como isso é incluído com outro conjunto de parênteses, esse grupo de captura obtém as primeiras quatro palavras
  • a próxima palavra e espaço é o único a substituir ([^ ]+ ) seguido pelo resto da linha (.*)$
  • A substituição reinsere o primeiro grupo (aninhado) com $1 a substituição peacock e o restante da linha $3 jogando a quinta palavra $2
por 12.08.2017 / 23:13

Tags