Notepad ++ Substituindo texto entre dois pontos com caracteres diferentes?

0

Eu tenho este texto:

D5 0.25 8;0.25 E5 0.25 8;0.5 F#5 1 8;1.5 E5 1 8;2.5 D5 1 8;3.5 B4 1 8;4.5 A4

Exceto por 800 caracteres ... Por exemplo, eu gostaria de obter o texto entre D5 e E5 e substituí-lo por um único espaço. Então parece com isso D5 E5, mas como eu disse, existem valores diferentes entre cada um.

    
por Xario Gaming 30.01.2018 / 05:42

2 respostas

1

Contanto que "D5" e "E5" não apareçam dentro do bloco, você pode usar Expressões regulares:

Procurar por: D5.*?E5
Substitua por: D5 E5

Lembre-se de ativar o modo de pesquisa de expressão regular

    
por 30.01.2018 / 06:35
0

Considerando que reconheço isso como dados MIDI, presumo que você queira remover todos os dados midi, exceto as anotações, separados por um espaço.

Você desejará usar o seguinte padrão regex para isso:

Pesquise ([A-Z]#*.).+?;.+?  (observe o espaço no final. Eu usei ALT + 255 porque o SuperUser o remove de outra forma).
E substitua por:   (observe também o espaço no final, também ALT + 255).

Ele fará todas as substituições, exceto a última nota, a menos que haja um espaço no final também.

O regex explicado:

(                - Start Capture group
  [A-Z]          - Search for any char between A and Z, exactly 1 time
  #*             - Search for a # 0 or more times
  .              - Search for any character exactly 1 time.
)                - End capture group
                 ------------------
                 The above search will result in the midi note, eg A3 and store it in 

.+?              - Continue to search for any character 1 or more times in non-greedy way.
;                - Search until we find the first ;
.+?              - Search for any character 1 or more times in non-greedy way.
                 - search until we find a space.
    
por 30.01.2018 / 10:12