Utilizzo della ricerca / sostituzione con caratteri jolly in Notepad ++


17

Ecco il mio problema: in un file .txt, devo trovare e sostituire migliaia di istanze di sintassi come questa:

(vedi (a053007djfgspwdf))

o

(vedi (a053007djfgspwdf) e (a54134xsedgeg))

o

(vedi (a053007djfgspwdf), (a9554xsdfgsdfg) e (a54134xsedgeg))

C'è molta varietà tra le stringhe di testo di inizio (vedi (a e la fine )) . Questo può essere impostato in Notepad ++ usando regex? Se è così, come lo farei? Grazie!

Risposte:


17

Mi spiace gente, trovo complicate altre risposte. (Nessuna mancanza di rispetto nei confronti dei manifesti originali.)

Poiché questo viene sempre visualizzato come primo risultato di ricerca, lo aggiungerò in:

  1. Apri la finestra di ricerca / sostituzione ( CTRL+ Fquindi la scheda Sostituisci)
  2. Spuntare "Espressione regolare" in basso
  3. Utilizzare. * Come carattere jolly

Ad esempio, volevo rimuovere tutte le istanze di abp = "1314", abp = "1313", abp = "1312" ecc (in pratica i numeri sono tutti diversi, motivo per cui si desidera che un carattere jolly si liberi di loro).

Nella finestra di dialogo Sostituisci:

Trova in cosa: abp=".*"
Sostituisci con:

(Stai sostituendo qualsiasi cosa tra quelle virgolette con niente per sbarazzartene)

Fonte: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/


15

Sì, può! Notepad ++ ha una modalità di ricerca RegEx che è possibile selezionare per tutte le esigenze di sostituzione RegEx.

L'esempio seguente è un sostituto di base per qualsiasi cosa in mezzo, (see (a...))ad eccezione di un'interruzione di riga. Potrebbe essere necessario modificare RegEx o scrivere il proprio in base alle proprie esigenze. Ecco un ottimo posto per aiutarti insieme a sperimentare.

RegEx: \(see \(a.+\)\)

Stringhe abbinate:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))


Sostituire (vedere (a ...)) con la sostituzione


Grazie! Ha trovato le istanze del primo esempio (vedi (a053007djfgspwdf)) ma non gli altri. Comunque, un ottimo inizio. Ci giocherò per vedere cos'altro posso fare. Se hai ulteriori suggerimenti, lo apprezzerei molto. Grazie ancora.
Michael Tuck,

Hai fatto clic su Sostituisci tutto o hai continuato a fare clic su Sostituisci per scorrere le corrispondenze simili all'utilizzo di Trova successivo ? Il testo che stai cercando inizia (see (ae finisce con ))? Se hai stringhe che terminano con una singola parentesi, puoi trasformare l'ultima \)nel gruppo di acquisizione (\)|)in modo che corrisponda alle stringhe che terminano con ))"o" ).
one.time

Ho provato alcuni sostituti, quindi Sostituisci tutto. Successivamente, la stringa di ricerca non ha trovato nulla. Il testo per tutti è: (vedi un testo vario )) Nessuna stringa con parentesi singola tranne forse errori di battitura.
Michael Tuck,

Ho aggiornato la mia risposta con un RegEx alternativo (\(see \(a|\(a)([^\)]+)\)(\)|)che corrisponderà alle stringhe nella tua domanda.
one.time

LOL hai aggiornato la tua risposta mentre stavo modificando la mia risposta. Proverò quello nuovo.
Michael Tuck,

1

Prova questo modello: \(see \(a(.*)\) e assicurati di avere ". Match newline" deselezionato e "wrap around" selezionato.


1

Dato che alcuni di questi erano troppo approfonditi per essere compreso, lascia che ti mostri cosa ho fatto dopo aver letto tutte queste soluzioni e altro ancora per ottenere una migliore comprensione. (questo è un approccio semplice, potrebbe non essere il migliore)

Volevo rimuovere tutti gli elementi della mia figura sull'intera pagina web. Figura 2.1, Figura 1.1, ect.

Era:

<p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Volevo che finisse:

 <p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar</p>

Ma ciascuno

aveva un numero di figura diverso, quindi l'ho usato nel sublime testo 2.

  1. ctrl H
  2. fai clic sul simbolo ". *" in basso a destra nel testo Sublime 2, (regex)
  3. digitato <br><b>Figure.*</b>
  4. sostituire con: -sinistra in bianco

Questo ha sostituito tutte le mie istanze con figure al suo interno. nota che ho usato. * dove sarebbero stati i numeri. Spero che sia di aiuto.


0

La regex esatta di cui avresti bisogno è:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Per esempio:

inserisci qui la descrizione dell'immagine

Selezionando Trova tutto nel documento corrente , il risultato sarebbe:

inserisci qui la descrizione dell'immagine

Puoi semplicemente usare Sostituisci secondo le tue necessità.

Se vuoi includere aanche il regex, puoi usare:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)
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.