Notepad++: Ersetzen Sie das 10. Zeichen, wenn das 4.-8. Zeichen in einer Textdatei "B490" enthält

Notepad++: Ersetzen Sie das 10. Zeichen, wenn das 4.-8. Zeichen in einer Textdatei "B490" enthält

Ich muss zwischen Position 10 und 31 nach „FE45“ suchen und dann das Zeichen zwischen dem 3. und 6. durch zzzz ersetzen.

Beispieldatei:

123AAA345FE45D
234BBB335DDFFFEEDFE45E
345CCC234ERFDF3FR06G

Mein Wunsch :-)

123000345FE45D
234000335DDFFFEEDFE45E
345000234ERFDF3FR06G

Wie kann ich diesen Ausdruck ändern, um die obigen Ergebnisse zu erhalten?

Dank im Voraus!

Antwort1

Verwenden Sie diese Option (), um Gruppen zu erstellen, auf die Sie dann anhand der Reihenfolge ihres Auftretens verweisen können.

Finden:

(b490)(.{2})(.{5})

Ersetzen:

\1\2ZZZZZ

Antwort2

  • Ctrl+H
  • Finde was:^...\K...(?=.{0,27}FE45)
  • Ersetzen mit:000
  • check Groß-/Kleinschreibung beachten
  • check Umwickeln
  • check Regulärer Ausdruck
  • NICHT PRÜFEN. matches newline
  • Replace all

Erläuterung:

^           : beginning of line
...         : 3 any character but newline
\K          : forget what we have seen until this position
...         : 3 any character but newline
(?=         : lookahead, zero length assertion, make sure we have after this position
  .{0,27}   : 0 up to 27 any character but newline
  FE45      : literally FE45
)           : end lookahead

Ergebnis für gegebenes Beispiel:

123000345FE45D
234000335DDFFFEEDFE45E
345CCC234ERFDF3FR06G

verwandte Informationen