Aggiungi carattere ad ogni numero tramite Regex in Notepad ++


10

Ho una domanda basilare che non riesco proprio a capire. Ho un documento di testo come questo:

This is 5 a test!
This 3 is a test!
This is a 9 test!

e voglio che assomigli a questo:

This is 5c a test!
This 3c is a test!
This is a 9c test!

Significa che voglio aggiungere una 'c' ad ogni numero che trovo. Ho provato questo:

Find what: [0-9]+]
Replace with: $1c
Search Mode: Regular expression

ma ovviamente sto facendo qualcosa di sbagliato perché non funziona. L'aiuto sarebbe apprezzato. Grazie!


3
Solo per curiosità: perché hai provato [0-9]+]con quelle strane parentesi senza pari?
Heinzi,

2
@Heinzi Scommesse è un errore di battitura nella questione, data la vicinanza +, ]e Entersu molte tastiere.
Razze di leggerezza in orbita

Risposte:


26

Hai quasi capito bene.

Vuoi cercare ([0-9]+)
e sostituirlo con$1c

Utilizzi ( )per creare un gruppo di acquisizione, quindi $ 1 funziona.

In alternativa, puoi $0cinvece sostituirlo con , quindi non è necessario utilizzare un gruppo di acquisizione.


2
Funziona perfettamente. Grazie mille;)
user3877230

Sei solo curioso di sapere se c'è una differenza nello schema e nella ricerca \d+?
BruceWayne,

2
@BruceWayne A seconda del tipo di regex yoru, \dpuò abbinare le cifre Unicode di altri script . Si noti che questo non è il caso di PCRE, che a quanto pare utilizza Notepad ++. In ogni caso, di solito preferirei \dse desidero cifre numeriche, ma [0-9]se desidero esplicitamente quei caratteri (ad esempio quando si elimina un formato definito che è limitato ai caratteri ASCII).
Bob,

Anzi, avrebbe funzionato altrettanto bene. Ho mantenuto la sintassi [0-9] perché OP l'ha già provato e l'altra risposta usa \ d.
LPChip

13
  • Ctrl+H
  • Trovare cosa: \d+
  • Sostituirlo con: $0c
  • seleziona Avvolgi
  • seleziona Espressione regolare
  • Replace all

Risultato per un esempio dato:

This is 5c a test!
This 3c is a test!
This is a 9c test!

Cosa fa avvolgersi?
Ooker
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.