Notepad ++: remplace le 10ème caractère si le 4ème-8ème caractère contient «B490» dans un fichier texte

0

Je dois rechercher “FE45” entre la position 10-31, puis remplacer le caractère entre le 3e et le 6e au zzzz.

Exemple de fichier:

123AAA345FE45D
234BBB335DDFFFEEDFE45E
345CCC234ERFDF3FR06G

Mon souhait :-)

123000345FE45D
234000335DDFFFEEDFE45E
345000234ERFDF3FR06G

Comment puis-je modifier cette expression pour obtenir les résultats ci-dessus?

Merci d'avance!

supertech123
la source
Qu'est-ce que votre expression fait actuellement mal? Publiez également des exemples de données avec les résultats souhaités, ce qui nous aiderait à mieux comprendre votre problème.
Máté Juhász
Pourquoi la troisième ligne est remplacée? Il n'y a pas FE45entre les positions 10 et 31
Toto

Réponses:

1

Utilisez ()pour créer des groupes que vous pouvez ensuite référencer par leur ordre d'apparition

Trouver:

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

Remplacer:

\1\2ZZZZZ
Yorik
la source
Merci Yorik! Mais je reçois "0 occurrences ont été remplacées."
Supertech123
vérifiez les paramètres comme indiqué dans la réponse @toto. Ce que j'ai posté fonctionne également sur l'exemple de l'entrée de toto
Yorik
1
  • Ctrl+H
  • Trouver quoi: ^...\K...(?=.{0,27}FE45)
  • Remplacer par: 000
  • check Match case
  • check Enveloppez-vous
  • vérifier l'expression régulière
  • NE PAS CHECK . matches newline
  • Replace all

Explication:

^           : 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

Résultat pour l'exemple donné:

123000345FE45D
234000335DDFFFEEDFE45E
345CCC234ERFDF3FR06G
Toto
la source
Désolé pour la question peu claire. Vous trouverez ci-dessous un exemple de fichier: 123AAA345FE45D 234BBB335DDFFFEEDFE45E 345CCC234ERFDF3FR06G Mon souhait :-) 123000345FE45D 234000335DDFFFEEDFE45E 345000234ERFDF3FR06G
supertech123
@ supertech123: voir mon édition, c'est ce que vous voulez?
Toto