Comment remplacer uniquement le texte dans une colonne sélectionnée

2

Lorsque je sélectionne du texte dans une colonne, le remplacement / dans la sélection devient gris. Comment remplacer du texte uniquement dans une colonne du texte sélectionné dans Notepad ++?

Pêcheur
la source
Je ne peux remplacer le texte de colonne sélectionné que par la première colonne sélectionnée et coupée, puis coller le texte coupé sur de nouvelles lignes, puis sélectionner ce texte et le remplacer, puis coupé et collé à l'emplacement d'origine. Ce n'est pas facile.
Fisher
Comment sont délimitées vos colonnes? Onglets?
Excellll
Les colonnes sont sélectionnées par ctrl + alt + clic gauche.
Fisher
1
Bonjour, ce n'est pas ce que j'ai demandé. Dans votre fichier, quels sont les caractères entre les colonnes? Est-ce un onglet? Plusieurs espaces? Cela est important car la meilleure solution que je vois est d'utiliser des expressions régulières pour rechercher et remplacer d'une manière qui ne vous oblige pas à sélectionner une colonne.
Excellll
Oui je sais. Mais ce n'est pas grave. Supposons que ce soit juste un gros morceau de texte aléatoire, il ne doit pas y avoir de "colonne" du tout. :)
Fisher

Réponses:

0

Ceci est une limitation ennuyeuse de notepad ++, mais il existe plusieurs façons de résoudre ce problème. Tout d'abord, si vous connaissez les limitations de colonne pour lesquelles vous souhaitez remplacer les occurrences du mot "chien" par "chat" dans les colonnes 4 et 10, procédez comme suit:

Chaîne de recherche RE: ^(.{3})(.{0,3})dog(.{0,3})(.*)$

Chaîne de remplacement RE: \1\2cat\3\4

Pour décomposer cela:

^          - Must match from the beginning of the line
(.{3})     - match any three characters from the line
(.{0,3})   - match 0-3 characters from the line
dog        - match "dog"
(.{0,3})   - match 0-3 characters from the line
(.*)       - match everything else
$          - up to the end of the line

Mises en garde à cette approche Tout d'abord, assurez-vous que vous avez . matches \ndécoché, cela gâcherait . Mélanger des tabulations et des espaces ne fonctionnera pas, car les expressions régulières voient les tabulations comme des caractères uniques.

Une autre solution fonctionnant avec des tabulations et des espaces mixtes. Column sélectionnez la dernière colonne dans laquelle vous souhaitez effectuer la recherche. Tapez ensuite un caractère qui ne figure pas dans le fichier, par exemple, ' |' ou ' !'.

Colonne, sélectionnez la première colonne dans laquelle vous souhaitez effectuer la recherche. Faites la même chose qu'avant (il peut s'agir du même caractère ou d'un autre).

Maintenant, recherchez votre texte dans ces limites.

Chaîne de recherche RE: |(.*)dog(.*)|

Chaîne de remplacement RE: |\1cat\2|

Vous voulez laisser vos caractères de repère, car vous ne correspondrez probablement pas à toutes les lignes de votre fichier et vous voudrez toutes les supprimer dans une deuxième étape (avec sélection et suppression de colonne, ou avec une autre recherche / remplacement).

Scott Gartner
la source
-1

J'utilise le dialogue Rechercher / Remplacer qui est présenté lorsque vous entrez Ctrl-r. Dans la boîte de dialogue Rechercher / Remplacer, un champ permet de saisir les numéros de colonne. Cela vous permet de limiter la recherche / remplacement à ces colonnes du fichier. Les expressions normales et régulières Rechercher / remplacer sont prises en charge. Je ne trouvais pas comment faire cette recherche / remplacement via la boîte de dialogue Ctrl-h.

entrez la description de l'image ici
Boîte de dialogue Rechercher / Remplacer (Ctrl-r)

GordyCA
la source