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!


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

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

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.