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.