J'essaie de me débarrasser de tout après une colonne dans Notepad ++. Le mode colonne n'est pas une option. C'est possible?
Ce que j'ai:
70.97.110.40 159 ms [n/a] 21
70.97.117.177 134 ms [n/a] 21
70.97.120.10 75 ms [n/a] 21
70.97.122.105 87 ms www.portless.net 21
70.97.122.106 89 ms www.popovetsky.org 21
70.97.122.107 95 ms www.psmythe.net 21
70.97.122.104 98 ms wasabi.prostructure.com 21
70.97.122.108 89 ms crm.prostructure.com 21
70.97.122.109 87 ms internal.prostructure.com21
Ce que je veux:
70.97.110.40
70.97.117.177
70.97.120.10
70.97.122.105
70.97.122.106
70.97.122.107
70.97.122.104
70.97.122.108
70.97.122.109
Réponses:
Si les données de la première colonne ne contiennent jamais d'espace, vous pouvez utiliser une expression régulière rechercher et remplacer pour obtenir ce que vous voulez.
En mode d'expression régulière, recherchez:
Et remplace par
Qu'est-ce que cela fait:
^
indique que toute correspondance doit commencer au début d'une ligne.([^ ]*)
est une expression qui ne contient pas d'espace. Le match est gourmand, donc tout sera mis en correspondance jusqu'au premier espace (ou à la fin de la ligne, selon la première éventualité)..*
est tout le reste sur la ligne.\1
fait référence à la partie de la correspondance à l'intérieur des parenthèses. C'est-à-dire que toute la ligne est remplacée par le bit de la première colonne.la source
Voici une expression régulière plus simple que vous pouvez utiliser pour obtenir le même effet. Remplacer
(notez le premier espace)
avec rien. Cela supprimera tout après et incluant le premier espace. Cela fonctionnera tant que vos adresses IP ne sont jamais préfixées par des espaces (comme c'est le cas dans votre exemple).
la source
[ \t].*
\s.*
est plus court. Peut-être même utiliser\s+.*
, pour faire correspondre une quantité arbitraire d'espaces, maintenant que nous codons de manière défensive .Si vous utilisez Windows et si cela ne vous dérange pas de laisser des espaces (vous pouvez ensuite les trouver / les remplacer), utilisez la fonction de sélection de bloc :
la source
Une expression régulière est plus rapide, mais vous pouvez faire des choses vraiment difficiles avec des macros si la tâche est plus compliquée.
Vous pouvez enregistrer une macro:
Puis rejouez-le:
la source
Placez le curseur après
70.97.110.40
.Appuyez sur Altet faites glisser le curseur vers la droite et vers le bas pour sélectionner la partie non souhaitée.
Appuyez sur Backspaceou Delete.
la source
Voici quelques méthodes alternatives à la réponse donnée.
Si vos données sont
fixed width
, vous pouvez également utiliser l' expression régulière suivante dans la recherche:Trouver quoi:
^(.{16}).*$
Remplacer par:
\1
C'est formidable si les données que vous souhaitez conserver contiennent un espace, comme quelqu'un l'a mentionné. De plus, encore une fois pour les données de largeur fixe, vous pouvez utiliser
Column Mode Editing
. C'est une petite fonctionnalité intéressante qui vous permet d'éditer plusieurs lignes de données dans le même emplacement de colonne. Voir Édition en mode colonne .Il fait mention des touches fléchées, mais vous pouvez également utiliser
Page Up/Down
pour une méthode plus rapide, ainsi que des touchesEnd
etHome
. La souris fonctionne aussi. Mais vous pouvez utiliser cela pour une méthode ad hoc de suppression de données après un certain point, en particulier s'il ne s'agit que de quelques lignes. C'est également bon pour la copie de données, mais la façon dont elles sont collées est un peu étrange, vous voudrez donc vous habituer à cela en premier.la source
Similaire à enthdegree:
S'il y a une ligne vide à la fin du fichier, appuyez simplement sur Up Arrow avant # 3.
Ce n'est pas parfait, mais c'est pratique.
la source
la source
Voici un moyen visuel:
Ce n'est pas «basé sur la colonne». Cela ne fonctionne que parce que vos adresses IP sont toutes alignées.
la source
En mode d'expression régulière, recherchez:
\ t. *
Et remplace par
Rien
la source
Supprimer tout après la première colonne dans Notepad ++:
la source