Notepad ++ - Sélectionne toutes les lignes des colonnes

4

J'ai un fichier texte extrêmement long (environ 15 000 lignes). Il ne contient que des chiffres (6 chiffres séparés par un espace). Je ne m'intéresse qu'aux trois premiers chiffres de chaque ligne. J'ai essayé de sélectionner le mode colonne et de le faire glisser vers le bas, mais il est très lent et j'ai plusieurs fichiers à gérer.

J'ai également essayé l'astuce Sélection début / fin, mais cela ne semble pas fonctionner avec les colonnes.

Existe-t-il un moyen de sélectionner automatiquement uniquement les trois dernières colonnes de nombres dans un fichier texte? Une solution consisterait en une option permettant de sélectionner toutes les lignes dans les colonnes spécifiées. Est-ce possible?

Blue_Elephant
la source
Avez-vous examiné RegEx? Je n'utilise pas N ++, mais Scintilla Text Editor, que j'utilise, permet d'effectuer des recherches et des surlignages basés sur des expressions régulières, ce qui devrait faciliter la tâche. Une autre option pourrait être Excel, qui devrait vous permettre de ne capturer que les 3 premiers chiffres de chaque ligne et de les déplacer sur une autre ligne.
music2myear
Comment l'outil d'expression régulière pourrait-il aider? Il existe de nombreux outils de recherche dans le Bloc-notes, mais je ne vois pas comment ils pourraient être utiles dans ce cas. Quant à Excel, je vais essayer.
Blue_Elephant
L'expression régulière est un langage, pas un outil. Je l’ai trouvé utile de temps en temps pour aider à effectuer des recherches plus complexes et remplacer lorsque je tente de faire correspondre des chaînes cibles plus complexes. Notepad ++ le prend en charge: docs.notepad-plus-plus.org/index.php/Regular_Expressions
music2myear
1
Il y a également une poignée de questions sur SE concernant ce processus exact: stackoverflow.com/questions/5516119/…
music2myear

Réponses:

12

Essaye ça:

  1. Appuyez sur CTRL+ Homepour déplacer le curseur de saisie en haut du document.
  2. Maintenant, utilisez la barre de défilement pour faire défiler rapidement jusqu'au bas du document sans changer la position du curseur de saisie. Vous pouvez faire glisser le curseur de la barre de défilement pour atteindre rapidement le bas du document. C'est vraiment rapide.
  3. Déplacez le pointeur de la souris après le troisième chiffre de la dernière ligne, maintenez la touche Alt+ enfoncée Shiftet cliquez.

Bingo!


la source
3

Cela peut être fait avec l'expression régulière suivante, en supposant que vos nombres ne sont que des nombres (c'est-à-dire sans virgule ni point décimal):

1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666

CTRL-H pour aller chercher et remplacer

Find what: .*\s(\d+\s\d+\s\d+)$
Replace with: \1
Search Mode: Regular expression

Une explication de la regex find:

.*  = match anything, repeating
\s  = match single whitespace
(   = start capture group
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
)   = end capture group
$   = match end of line

Et la boîte de remplacement:

\1 = capture group 1 from the prior regex match (everything matched between the ( and the ))

Cela a pris quelques secondes pour remplacer et vous laisse avec les trois dernières colonnes de chiffres, à savoir.

4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666

Capture d'écran de NPP remplacer box:

notepad ++ trouver et remplacer regex

jotap
la source