Fügen Sie jeder Zahl über Regex in Notepad ++ Zeichen hinzu

10

Ich habe eine sehr grundlegende Frage, die ich einfach nicht verstehen kann. Ich habe ein Textdokument wie dieses:

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

und ich möchte, dass es so aussieht:

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

Das heißt, ich möchte jeder Zahl, die ich finde, ein 'c' hinzufügen. Ich habe es versucht:

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

aber ich mache offensichtlich etwas falsch, weil es nicht funktioniert. Hilfe wäre dankbar. Vielen Dank!

user3877230
quelle
3
Nur aus Neugier: Warum haben Sie es [0-9]+]mit diesen seltsamen, unübertroffenen Klammern versucht ?
Heinzi
2
@Heinzi Wetten , es ist ein Tippfehler in der Frage, angesichts der Nähe +, ]und Enterauf vielen Tastaturen.
Leichtigkeitsrennen im Orbit

Antworten:

26

Du hast es fast richtig gemacht.

Sie möchten suchen ([0-9]+)
und ersetzen durch$1c

Sie verwenden ( ), um eine Erfassungsgruppe zu erstellen, sodass 1 US-Dollar funktioniert.

Alternativ können Sie $0cstattdessen durch ersetzen , dann müssen Sie keine Erfassungsgruppe verwenden.

LPChip
quelle
2
Es funktioniert einwandfrei. Vielen Dank;)
user3877230
Nur neugierig, ob es einen Unterschied in diesem Muster gibt und suchen \d+?
BruceWayne
2
@BruceWayne Abhängig von Ihrer Regex-Variante \dkönnen Unicode-Ziffern aus anderen Skripten übereinstimmen . Beachten Sie, dass dies bei PCRE nicht der Fall ist, was anscheinend Notepad ++ verwendet. In jedem Fall würde ich normalerweise bevorzugen, \dwenn ich numerische Ziffern möchte, aber [0-9]wenn ich diese Zeichen explizit möchte (z. B. beim Scrapen eines definierten Formats, das auf ASCII-Zeichen beschränkt ist).
Bob
In der Tat hätte \ d genauso gut funktioniert. Ich habe die [0-9] -Syntax beibehalten, da OP dies bereits versucht hat und die andere Antwort \ d verwendet.
LPChip
13
  • Ctrl+H
  • Finde was: \d+
  • Ersetzen mit: $0c
  • Überprüfen Sie Wrap around
  • Überprüfen Sie den regulären Ausdruck
  • Replace all

Ergebnis für gegebenes Beispiel:

This is 5c a test!
This 3c is a test!
This is a 9c test!
Toto
quelle
Was macht Wrap Around?
Ooker