Sostituzione di caratteri jolly in Notepad ++ con interruzioni di riga in posizioni sconosciute


0

Ho un file XML in cui devo sostituire un certo testo ricorrente. Tuttavia, le interruzioni di riga e i ritorni a capo possono essere visualizzati nel testo ovunque.

Il testo è sempre così:

@RELEASED {XXX}

dove XXX è il testo che cambia, può essere praticamente qualsiasi cosa e può includere interruzioni di riga e ritorni a capo ovunque all'interno (per quanto ho visto, sono sempre i due insieme). Può anche succedere che nel testo non vi siano interruzioni di riga e ritorni a capo.

Ho provato a fare quanto segue:

\ {@RELEASED. +}

Questo sostituisce il testo pertinente se non vi sono interruzioni di riga e ritorni a capo.

Ho quindi provato a sostituire \ r \ n con una stringa che non appare da nessuna parte, e quindi fare di nuovo la stessa cosa:

\ {@RELEASED. +}

Tuttavia, in questo caso questo sostituisce una singola, grande porzione del file, invece di ogni aspetto (forse va dalla prima apparizione di questo testo all'ultima e sostituisce tutto tra questi due).

La modalità di ricerca è impostata su Espressione regolare, Avvolgere è deselezionato. Ho provato a giocare con queste impostazioni senza alcun risultato.

Qualsiasi aiuto è molto apprezzato.

Risposte:


0

Non ho la soluzione come dovrebbe essere, ma ho un'ottima soluzione.

Sostituisci innanzitutto tutte le interruzioni di riga con un testo univoco, ad esempio AS ##### LINEBREAK ##### per rendere tutte le interruzioni di riga testo. Quindi usa il tuo primo regex per modificare il testo, quindi sostituisci ##### LINEBREAK ##### di nuovo a \ r \ n.


L'ho provato e per qualche motivo questo sostituisce una singola, grande porzione del file, invece di ogni aspetto. \ r \ n è stato sostituito con %%% che non appare da nessuna parte nel file, e successivamente: \ @RELEASED {. +} ha sostituito quasi l'intero file, anziché le circa 150 apparenze del testo di destinazione. È possibile che abbia saltato tutte le parentesi quadre tranne l'ultima.
NKM,

sai che {e} sono anche caratteri regex, giusto? Quindi devi scappare anche da quelli.
LPChip,

0

Ho scoperto che tutte le occorrenze avevano una chiusura </tp>dopo di esse, quindi ho fatto quanto segue:

Trovare cosa:

\ @R. *? <

Sostituirlo con:

<

Avvolgere, Espressione regolare, corrisponde a nuova riga selezionata.

Sembra che abbia funzionato. Grazie per i suggerimenti.


Dovresti accettare la tua risposta se il problema è stato risolto.
Dmitry Grigoryev,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.