2016-12-31 2 views

Répondre

2

Dans Notepad ++, vous devrez faire correspondre le texte entier du document, mais uniquement les lignes de capure allant de 11 à la fin.

Trouver: \A.*(?:\R.*){9}\R?([\s\S]*)
Remplacer: $1

Pour enlever les 10 dernières lignes:

Trouver: ^.*(?:\R.*){9}\z
Remplacer: vide

Détails:

  • \A - début du document
  • .* - les caractères zéro ou plusieurs autres que des symboles de saut de ligne (la ligne entière première)
  • (?:\R.*){9} - 9 séquences de saut de ligne (\R) suivi avec des 0+ caractères autres que les caractères de saut de ligne
  • \R? - un saut de ligne en option (s'il y a seulement 10 lignes)
  • ([\s\S]*) - Groupe 1 capturant le reste du document.

La seconde regex:

  • ^ - début d'une ligne
  • .* - la ligne elle-même jusqu'à la coupure de ligne
  • (?:\R.*){9} - 9 lignes: saut de ligne + tout 0+ caractères autre que les caractères de saut de ligne
  • \z - la fin du document.

$1 est la référence arrière du texte stocké dans le groupe 1.

Le résultat de frapper un bouton Tout remplacer sur un document de ligne 20+ pour enlever les 10 premières lignes:

enter image description here

Et les 10 dernières lignes:

enter image description here

+0

super réponse! Merci ! bonne année ! –

1

Juste un simple Remplacer tout en utilisant ce

(?m)(?:\A(?>^.*\R?){10}|(?>^.*\R?){10}\z)

Expanded

(?m) 
(?: 
     \A 
     (?>^.* \R?){10} 
    | (?>^.* \R?){10} 
     \z 
) 

Si elle ne prend pas en charge la syntaxe \R, remplacer

(?>\r\n|\n|\r|\f|\x0b|\x85) - Ascii
(?>\r\n|\n|\r|\f|\x0b|\x85|\x{2028}|\x{2029}) - Unicode