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
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.
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
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.