Astuces et Tutoriaux gratuits Web, PC, Mobile

accueil astuces
 » Qui est Jeanviet ? | Vous êtes ici : Les Astuces de Jeanviet - Rechercher et remplacer du texte avec Notepad++ et quelques regex 

Rechercher et remplacer du texte avec Notepad++ et quelques regex

Ajoutée dans Bureautique, Webmaster, le 11/11/09,

Rechercher et Remplacer par...

Notepad++ est un éditeur de texte qui gère les expressions régulières (regex) lorsqu’on souhaite rechercher et remplacer du texte. Ce gros avantage (gestion des regex) permet d’automatiser pas mal les ajouts, supressions, sélections de caractères dans un texte tout en visant juste. Voyons ensemble 8 cas concrets de rechercher et remplacer par (raccourci CTRL+H) qui vont vous permettre de retravailler vos données avant utilisation sous excel, calc, writer, word, ou éditeur html de votre blog.

 

Au sommaire de ce tutoriel:

  1. Télécharger Notepad++
  2. Rechercher et Remplacer par dans Notepad++
  3. Notepad++ et les expressions régulières
  4. 8 exemples pratiques de rechercher et remplacer par
  5. Quelques liens pour aller encore plus loin !

Télécharger Notepad++

Télécharger Notepad++Notepad++ est devenu mon éditeur de texte par défaut… C’est avec Notepad++ que j’ai créé toutes les pages de Jeanviet.info (HTML, CSS). Je l’utilise aussi pas mal au travail pour retravailler des données. La grande force de Notepad++ est de gérer les expressions régulières lorsqu’on souhaite rechercher et remplacer du texte (CTRL+H)

Rechercher et Remplacer par dans Notepad++

Une fois que vous aurez ouvert votre fichier texte dans Notepad++, il suffira d’appuyer simultanément sur les touches CTRL et H (ou depuis le menu Rechercher -> Remplacer…) pour ouvrir la fenêtre Rechercher et remplacer par.

Notepad++ fenêtre rechercher et remplacer par

En (1) on met le texte générique (avec ou sans expressions régulières) à remplacer, en (2) le texte qui viendra en remplacement. En (3) on coche la case Expression régulière ou Mode étendu si nécessaire…. Et on appuie sur Remplacer tout ! si le résultat escompté n’est pas le bon, vous pouvez toujours revenir en arrière avec le raccourci clavier CTRL + Z.

Notepad++ et les expressions régulières

  1. Qu’est-ce qu’une expression régulière en informatique ?
  2. Les pincipales regex à utiliser avec notepad++
  3. Conserver le texte d’une regex sous notepad++

C’est quoi les regex ?

Les expressions régulières (regex) en informatique  sont des règles qui permettent d’isoler dans une zone de texte certains types de caractères (lettre, numéro), ensemble de caractères (mots de 3 lettres, nombre à 4 chiffres, mots commencant par…) , position dans le texte (début, fin, saut de ligne).

Lorsqu’on a isolé ces bouts de textes aux prorpiétés choisies, on peut les supprimer, effacer tout ce qui se trouve autour, ou leur ajouter du texte. Les regex  permettent d’automatiser le traiement de gros fichiers de données… Si vous gérez des fichiers textes, excel de plus de 100 lignes, les regex vont vous faire gagner du temps !

Comme ceci est très abstrait, voici quelques exemples de ce que peuvent faire les regex :

  • Trouver dans un texte toutes les phrases qui commencent par "il était une foie" et remplacer le texte par "Il était une fois" (^il était une foie)
  • Chaque fois qu’un texte se termine par un point, on peut forcer un retour à la ligne (.$)
  • Trouver dans un texte tous les mots qui contiennent 2 o consécutifs (.*oo.*)

Les Principales Regex  à utiliser avec notepad

regex effet exemple
. pour remplacer un caractère ex: "jeanvie." va trouver "jeanviet" et "jeanvier"
[...] pour indiquer un ensemble de caractère ex: "[éèêë]" pour trouver un accent
[^...] pour indiquer des caractères complémentaires ex: "[^0-9]" pour trouver tout ce qui est différent d’un chiffre
^ pour indiquer que le caractère doit être au début d’une ligne ex: "^jeanviet" pour trouver toutes les lignes qui commencent par jeanviet
$ pour indiquer que le caractère doit être en fin de ligne ex: "jeanviet$" pour trouver toutes les lignes qui se terminent par jeanviet
.* n’importe quel nombre de caractère entre deux caractères ex:"j.*t" trouvera jeanviet, jet, jouet

Conserver le texte d’une regex

Pour expliquer la règle qui permet de conserver le texte d’une regex, je vais partir d’un exemple… Prenons ces 4 lignes de texte :

  • mois : jeanviet 2010
  • mois : février 2010
  • mois : mars 2010
  • mois : avril 2010

Je ne veux garder que le mois, c’est à dire jeanviet, février, mars, avril. On va donc supprimer tout ce qui se trouve avant les " : " et l’année " 2010" et conserver le mois entre les deux.

Voici la manip sous notepad :

Conserver une regex

La première regex (.*) prend en compte tout ce qui se trouve avant " : ", la deuxième (.*) c’est le texte entre " : " et 2010. L’utilisation des parenthèses () va nous permetre de rappeler la regex dans le "remplacer par". Comme je veux garder la 2ème regex, je mets "\2" dans remplacer par, ce qui me donne en appuyant sur remplacer tout :

  • jeanviet
  • février
  • mars
  • avril

Si j’avais mis \1 à la place, j’aurais eu la 1ère regex, soit :

  • mois
  • mois
  • mois
  • mois

8 exemples pratiques de rechercher et remplacer par

  1. Enlever les espaces en fin de mot
  2. Mettre tout en minuscule ou tout en majuscule
  3. Supprimer des lignes vides
  4. Filtrer ses données : copier ou supprimer les lignes marquées
  5. Transformer une colonne d’adresse emails en 1 ligne avec séparateurs (virgules)
  6. Mettre des données en colonnes : saut de ligne à chaque séparateur
  7. Ajouter du code HTML
  8. Supprimer du code HTML

1. Enlever les espaces en fin de mots

En récupérant des données, il m’arrive fréquemment d’avoir à faire face à ce problème : l’export a ajouté des espaces en fin de cellule… Comment effacer ces espaces juste en fin de cellule et pas entre deux mots

Copiez-collez vos données dans notepad++

  • mois de jeanviet 
  • mois de février 
  • mois de mars 
  • mois d’avril 

CTRL + H, puis ajouter dans rechercher " $" (tout ce qui se termine par espace : espace suivi de $) et rien dans Remplacer par.

Enlever espace en fin de ligne

Remplacer tout, et le tour est joué !

  • mois de jeanviet
  • mois de février
  • mois de mars
  • mois d’avril

 NB : on peut aussi faire Edition -> enlever les espaces/tabulations à la fin de la ligne (mais ça claque moins ;-))

2. Mettre tout en minuscule / majuscule

Notepad++ a créé des fonctions magiques automatiques pour résoudre vos problèmes de majuscules / minuscules. Toutes ces fonctions se trouvent sous TextFX -> TextFX Characters dans le menu horizontal de Notepad++. Assurez-vous que tout votre texte soit sélectionné au préalable (CTRL + A)

majuscules / minuscules

UPPER CASE met tout en majuscule

  • MOIS DE JEANVIET
  • MOIS DE FÉVRIER
  • MOIS DE MARS
  • MOIS D’AVRIL

lower case met tout en majuscule

  • mois de jeanviet
  • mois de février
  • mois de mars
  • mois d’avril

Sentence case rajoute une majuscule  en début de phrase (la phrase doit se terminer par un point)

  • Mois de jeanviet.
  • Mois de février.
  • Mois de mars.
  • Mois d’avril.

 

3. Supprimer des lignes vides

RDV ici :  TextFX -> TextFX Edit et appuyez sur Delete Blank Lines (supprimer les lignes vides)

4. Filtrer ses données

Si je veux exporter que des lignes qui parlent de jeanviet, on va procéder en 2 temps marquer les lignes qui parlent de jeanviet (1) puis les copier-coller (2)

Pour marquer les lignes, faites CTRL + F, ajoutez le texte jeanviet (1), cochez marquer les lignes (2), et appuyez sur rechercher tout  (3).

marquer lignes

Toutes les lignes contenant jeanviet sont alors marquées

lignes marquées

Dans le menu horizontal recherche, vous pouvez alors effectuer différentes actions sur les lignes marquées :

actions sur lignes marquées

Les Copier, pour les coller ailleurs… je n’aurai que du jeanviet :-)

copier coller lignes marquées

Les Supprimer, adieu jeanviet  ! :-(

Supprimer lignes marquées

5. Transformer une colonne d’adresse emails en 1 ligne avec séparateurs (virgules)

Vous avez récupéré ces adresses mail via un tableur excel ou votre outil de blogging, elles sont ordonnées en colonne :

  • julien@jeanviet.info
  • jules@jeanviet.info
  • jeremy@jeanviet.info
  • jordan@jeanviet.info
  • jean@jeanviet.info
  • jonathan@jeanviet.info
  • jason@jeanviet.info
  • jimmy@jeanviet.info
  • joris@jeanviet.info
  • jean-baptiste@jeanviet.info
  • johan@jeanviet.info

Si vous voulez leur envoyer tous un mail, il faut les séparer par des virgules et les mettre sur la même ligne, rien de plus simple avec notepad++

On fait CTRL + H, on coche la case Mode étendu (mode regex qui comprends les caractères spéciaux) dans recherche je mets \r\n (\r c’est la fin de ligne - équivalent de notre $ en mode expression régulière - \n c’est le retour à la ligne), dans remplacer par je mets une virgule ","

remplacer saut de ligne par virgule

On peut ensuite appuyez sur remplacer tout

mails sur une ligne séparés par virgule

 Miracle ! ça fonctionne, je n’ai plus qu’à copier-coller cette ligne dans la zone destinataire de ma messagerie préférée.

6. Mettre des données en colonne (séparateur devient saut de ligne)

La réciproque de ce qu’on vient de voir avant est tout à fait possible à réaliser.

remplacer virgule par saut de ligne

Il suffit de mettre la virgule dans recherche et le saut de ligne (\r\n) dans remplacer par… C’est aussi simple que ça ;-)

7. Ajouter du code HTML

Ca devient un peu technique là… Pour que cela soit profitable au plus grand nombre, je vous propose de voir comment on peut tranformer des images hébérgées sur le web en miniatures cliquables…. Ci-dessous les urls qui chargent les photos des 12 membres les plus actifs de jeanviet.info :

 On va les copier-coller dans notepad++

images des membres de jeanviet.info

Chaque image fait 83×97 en taille, on va en faire des miniatures cliquables de 40×47 (on garde la proportion, on diminue la taille), le lien ouvrira une nouvelle fenêtre.

On doit donc transformer ça :

http://jeanviet.info/about/jeanviet.jpg

en ça :

<a href="http://jeanviet.info/about/jeanviet.jpg" target="_blank"><img src="http://jeanviet.info/about/jeanviet.jpg" hspace="3px" width="40px"></a>

visuellement ça donne ça ;-)

On se lance ce n’est pas très compliqué ;- ) surtout que je vous ai donné le code html qui va bien avant ;-)

ajout de code html partout

Dans rechercher on va ajouter (.*) et dans remplacer par, vous reprenez mon code en bleu, ce qui est en vert devient \1

à mettre dans remplacer par

Appuyez ensuite sur remplacer tout… le code est prêt, plus qu’à le copier-coller en mode html sur votre blog comme ceci :

C’est quand même plus sympa qu’une liste brute d’urls !

8. Supprimer du code HTML

Si on veut revenir à l’affichage brut d’urls à partir du dernier code html généré, voici ce qu’il faut ajouter dans les champs rechercher et remplacer en mode expression régulière.

retrouver mon url

On veut récupérer la 2ème expression regulière dans le href=" ", soit \2 dans remplacer par… Et on retrouve ainsi notre liste d’urls :

images des membres de jeanviet.info

Quelques liens pour aller encore plus loin

Avec les regex, les gains de productivité sont infinis ! il y a des regex dont je n’ai pas parlé… des usages plus avancées à explorer, si vous souhaitez aller plus loin, voici quelques liens utiles :

  1. Tuto vidéo pour connaître les sites qui pointent le plus souvent chez vous (en utilisant notepad++, des regex, et calc)
  2. Expreg : si vous voulez vous lancer dans le développement php
  3. D’autres exemples de regex pour Notepad++ (en anglais)

Autrement, vous pouvez aussi utiliser le forum logiciel pour poser toutes vos questions regex / notepad++


   Vous avez aimé ce tutoriel ?

»  Rechercher et remplacer du texte avec Notepad++ et quelques regex




Partagez-le sur :

Vous aimerez aussi ces autres tutos :

A propos de l'auteur :

Salut à tous, je m'appelle Jean-Baptiste, j'ai 32 ans et je suis le Webmaster de Jeanviet.info / votre guide web et multimédia gratuit et accessible à toute la famille ! Sur ce blog, je partage avec vous tous les sites web, logiciels, techniques qui permettent de personnaliser vos interfaces et supports multimédia : blog, photos, bureau, site, mobile,…




172 commentaires pour “Rechercher et remplacer du texte avec Notepad++ et quelques regex”

  1. cool a dit :
  2. je voudrais tellement le montrer a mon pere et a ma mere svp svp svp svp



  3. cool a dit :
  4. salut je veut tellement le montrer a mon pere et a ma mere jaimerais tellement ca svp



  5. runbrun a dit :
  6. juste un merci et un grand bravo.



  7. jolapatate a dit :
  8. Merci beaucoup pour ces infos.
    Pour ma part en format ANSI j’ai un fichier contenant beaucoup de caractère nul écrit NUL (en fond noir) comme on peut le voir sur cette image “http://image-heberg.fr.cr/files/1258915036313330.jpg” connaisez vous un moyen quel qu’il soit pour remplacer ou ne pas afficher ce caractère?

    Merci d’avance ;-)



  9. Zone Ecolo a dit :
  10. Ceci m’a été très utile ! Merci !



  11. Karine a dit :
  12. Bonjour,
    Je souhaite trouver dans un dossier tous les fichiers contenant 2 mots spécifiques.
    Est ce qu’il y a une solution avec notepad++ et “Rechercher dans les fichiers” ?
    Merci pour votre réponse.



  13. Hamza a dit :
  14. Merci, ca ma ete bien utile.



  15. Blaze! a dit :
  16. Argh!
    Contrairement à ce qui est écrit, je n’arrive pas à utiliser le mode étendu avec des expressions régulières.
    Je voudrais supprimer toutes les occurrences de “\n 0…..\n” de mon fichier, et je ne vois pas comment faire. Le mode expressions régulières ne gère pas les retours de lignes “\n” et le mode étendu ne gère pas les “…” comme une expression régulière.
    Blaze!



  17. jeux a dit :
  18. Bonjour,

    Merci pour cet article qui en deux lecture m’a permis de faire l’expression que je cherchais à faire depuis un moment



  19. gasy a dit :
  20. Comment on ferra si on veut mettre à la ligne les textes terminant par une virgule
    ex:
    text1;text2;text3;text4
    Et je voudrai avoir comme ceci:
    text1
    text2
    text3
    text4



  21. PFS a dit :
  22. Il te suffit de faire remplacer “;” par “\r\n” en sélectionnant “Mode étendu” dans la fenêtre.



  23. valérie a dit :
  24. Bonjour,
    Je souhaite utiliser des adresses mail en colonnes pour lesquelles je dois ajouter une virgule comme expliqué dans le point 5, à la grosse différence que je veux et ne peux le faire que sur Word !
    Avez-vous une technique à me soumettre,
    Merci beaucoup de votre réponse,
    Valérie

    5. Transformer une colonne d’adresse emails en 1 ligne avec séparateurs (virgules)

    Vous avez récupéré ces adresses mail via un tableur excel ou votre outil de blogging, elles sont ordonnées en colonne :



  25. Laurent81 a dit :
  26. (Site en cours de conception)
    Bonjour, j’aurais besoin de remplacer les espaces entre les mots par un tiret (-), mais pas les espaces entre mot et chiffre, chiffre et mot, chiffre et chiffre.
    Merci à celui qui me donnera la bonne expression
    Laurent



  27. Zenike a dit :
  28. @Laurent81:

    recherche:
    ([^0123456789]) ([^0123456789])

    remplacer:
    \1-\2

    en mode expression régulière.

    Voilà, si j’ai bien compris la question du moins.

    Nicolas



  29. Watussi a dit :
  30. Merci pour cet article qui me permet d’apprécier encore plus ce bon vieux notepad++



  31. Guillaume a dit :
  32. Je cherche à supprimer du texte (des lignes de texte plus précisément) entre crochets. Par exemple :

    [Toto titi tata]

    Il s’agit d’un fichier de sous-titrage SRT et je voudrais supprimer tous les commentaires qui sont justement entre crochets. Il me faudrait supprimer le texte et les crochets. Est-ce possible à votre avis ?



  33. Jeanviet a dit :
  34. Salut Guillaume,

    Il faut le faire en 2 étapes

    en mode normal, remplace tous les [ et ] par _
    [Toto titi tata] devient ainsi _Toto titi tata_

    en mode expression régulière, remplace _.*_ par rien
    Ca devrait effacer tout ce qui est entre “_”



  35. Echidne a dit :
  36. Bonjour,
    J’ai trouvé votre article très intéressant. Toutefois je n’arrive pas à reproduire ce que vous décrivez dans la 4ème partie. J’arrive sans problème à marquer les lignes contenant une chaine de caractères mais je ne trouve nulle part la possibilité de copier ou de supprimer les lignes marquées.La version de Notepad ++ que j’utilise est la 5.9.3.



    Merci !
    Pour info : sous word, remplacer ^p par ; permet de transformer une colonne en paragraphe avant un envoi de mail par exemple…
    Bertrand



  37. pepitecool a dit :
  38. Toutefois je n’arrive pas à reproduire ce que vous décrivez dans la 4ème partie. J’arrive sans problème à marquer les lignes contenant une chaine de caractères mais je ne trouve nulle part la possibilité de copier ou de supprimer les lignes marquées.La version de Notepad ++ que j’utilise est la 5.9.3.
    merci



  39. Greg a dit :
  40. @Jeanviet et Guillaume:
    Il suffit de placer un anti-slash \ avant le caractère que vous souhaitez dénaturé. Ainsi il ne fait plus partie de votre expression régulière comme un opérateur mais est identifié comme un caractère simple.
    Le résultat peut donc être obtenu avec :
    \[[A-Za-z ]*\]

    @Zenike
    Avec ta formule, tu remplaces les espaces entres nombres par un -, et si j’ai bien compris on veut exactement le contraire, c’est à dire remplacer :
    ([A-Za-z]+) ([A-Za-z]+)
    par :
    \1-\2

    A savoir :
    Si vous voulez décrire des ensembles c’est possible. C’est ce que j’ai fais juste au dessus.
    [0-9] veut dire tout les chiffres possibles.
    [a-z] toutes les minuscules.
    Et le + veut dire “au moins un” (là où le plus inclut le 0)

    Bon courage avec les regex ! Plus vous les utiliserez, plus ça deviendra puissant :)



  41. alcidejet a dit :
  42. Bonjour,

    Récupérant de vieux contacts, j’ai besoin d’un fichier texte propre : un mail par ligne.
    Quel code me faut-il utiliser pour supprimer un ensemble tel que :
    AXXXXX sXXXX etc… <XXXXX@laposte.net

    se retrouve ainsi :
    XXXXX@laposte.net

    Cad remplacer tous les caractères devant et y compris le signe “<”

    Merci d’avance (je débute avec ces fonctions notepad)



  43. alcidejet a dit :
  44. J’avais finalement les compétences et la débrouille! j’ai trouvé un remède efficace !

    ^([A-Za-z0-9àáâãäåçèéêëìíîïðòóôõöùúûüýÿ& -_]+)(<)

    Merci de m’avoir guidé dans cet apprentissage.

    Autres sources :
    http://www.commentcamarche.net/forum/affich-1314348-regular-expression-et-accents
    http://nliautaud.fr/wiki/articles/notepadpp/expreg



  45. Greg a dit :
  46. Ou sinon en plus simple
    .* <
    . signifiant un caractère quelconque.
    * signifiant un certain nombre (supérieur ou égale à 0)
    On peut donc traduire la regexp par “n’importe quoi suivi d’un espace et d’un chevron ouvrant”.
    Merci pour les liens ;)



  47. alcidejet a dit :
  48. Super, c’est bien plus simple à faire (et à comprendre)

    L’espace est même alors inutile (expérience faite)
    .*<
    “n’importe quoi suivi d’un chevron ouvrant”.

    Histoire d’aller plus loin :
    Je pars d’un ensemble de données sur une seule ligne (récup de mail) du genre :
    xxx yyy , ssss dddd , etc…

    Jusqu’alors, je fais en 2 étapes, d’abord :
    “>, ” remplacé par”\n” (donc un retour à la ligne en fin de chaque adresse mail) puis j’utilise ton code “.*<” remplacé par rien. Et j’obtiens une adresse mail par ligne.

    Peut-on imaginer faire tout ça en une seule manipulation ?

    (bon sinon ces 2 étapes me contentent déjà énormément. MERCI !)



  49. Greg a dit :
  50. Malheureusement je ne sais pas s’il est possible de mettre des caractères comme le ‘\n’ dans les regexp de Notepad++.
    A toute personne qui connait la réponse, n’hésitez pas !
    Donnez la réponse ! (ou au moins un lien ;) )



  51. alcidejet a dit :
  52. Heu…
    J’utilise “\n” dans le regexp de Notepad++ justement. (si telle est la question)



  53. Greg a dit :
  54. Pardon, je me suis mal exprimé, on peut utiliser le ‘\n’ dans la chaine de remplacement, mais pas (à ma connaissance) dans celle de recherche.
    Donc en effet pour en revenir à ton problème on peut se démerder avec une seule regexp.

    Le texte de base
    azr eza , aoihr zrze , aoihr zrze
    On recherche :
    [[,a-z ]*]*
    Que l’on remplace par
    \1\n
    Dans ce cas là, on ne peut plus utiliser le . parce qu’il inclue les caractères . Cela dit il existe peut-être une façon de définir des ensembles en soustrayant certains éléments pour faire ça de façon plus simple … A chercher ;)



  55. Greg a dit :
  56. Arg, le site à coupé ma regexp :S
    Je réessaye
    [[,a-z ]*##([,a-z@ 0-9]*)##]*
    A la place de ## tu dois mettre tes chevrons ouvrants et fermants

    2ème tentative :
    [[,a-z ]*<([,a-z@ 0-9]*)>]*



  57. Greg a dit :
  58. Donc pour reprendre mon texte de base :
    azr eza <toto1>, aoihr zrze <toto2>, aoihr zrze <toto3>
    La regexp :
    [[,a-z ]*<([,a-z@ 0-9]*)>]*
    A remplacer par
    \1\n



  59. alcidejet a dit :
  60. ça n’a pas marché…

    Ben c’était pour décorer d’une cerise sur le gateau, mais une succession de “>, ” par “\n” puis de “.*<” par rien marche impeccablement bien.

    Merci de tes efforts :-)



  61. Greg a dit :
  62. Ah parce que tu crois que j’abandonne ? :P
    J’ai regarder les liens que tu as mis dans l’un des tes messages, pour en déduire :
    [^<]*]*)>
    \1\n
    Je traduis :
    [^ N'importe quoi sauf le chevron ouvrant.
    ]*)> => N’importe quoi sauf le chevron fermant, et entouré d’un chevron ouvrant à gauche et d’un fermant à droite.
    Bingo ;)



  63. Greg a dit :
  64. Arg, j’ai encore oublié ><

    Remplacer :
    [^<]*<([^>]*)>
    par :
    \1\n

    Traduction :
    [^<]* N’importe quoi sauf le chevron ouvrant.
    <([^>]*)> => N’importe quoi sauf le chevron fermant, et entouré d’un chevron ouvrant à gauche et d’un fermant à droite.



  65. alcidejet a dit :
  66. Ha oui, là Bravo!

    C’est impeccable et j’en prends bonne note.

    Un GRAND MERCI pour ta ténacité :-)



  67. dukynoob a dit :
  68. Bonjour,

    Je cherche a fusion plusieurs fichier txt en un seul, dans chaque fichier il n’y a qu’une seule ligne que je veut mettre l’une en dessous de l’autre dans un fichier unique

    Merci de votre aide



  69. imel a dit :
  70. salut à tous, c’est super excitant ces jeux de passe passe, j’adore… mais je sais pas si je suis dans l’erreur mais j’ai constater que notepad++ ne prend pas en charge le metacaractere d’alternative “|”, une idée ?



  71. Greg a dit :
  72. @dukynoob : A ma connaissance, pas facile de faire ça avec Notepad++. Cela dit, tu peux réaliser la même opération avec cygwin (c’est un mini shell linux qui s’installe sur windows).
    Une fois que tu as installé ce logiciel, ça ressemble à la ligne de commande de windows, il te reste à taper une ligne dans le genre :
    cat *.txt > total.txt

    @imel : Ce métacaractère peut paraître très utile, mais il est en réalité très complexe et couteux à calculer pour une machine. Sachant qu’en général on peut à peu près tout réécrire sans ce caractère, je te conseil d’essayer de trouver une regex qui te sorte un résultat identique sans ce caractère.
    Si tu as des soucis pour trouver comment faire, n’hésites pas à poster ici ta regex avec “|” ;)

    Et si certains d’entre vous ont une très forte utilisation de ce genre de manipulation, je peut envisager de créer quelques petits outils personnalisés !



  73. dukynoob a dit :
  74. Merci Greg pour la réponse je vais teste



  75. Nekobook a dit :
  76. Bonjour, je cherchais un cas de remplacemant mais je ne l’ai pas trouver d’où voiçi ma question, comment fait-on pour remplacer un texte avec numémoration croissant svp? Exemple, j’ai 1000 lignes abc1 écrit jusqu’à abc1000 mais entre ces lignes il manque plein de numérotation ou faute de frappe, donc j’aimerai que notepad remplace comme il faut les abc numéroté jusqu’au dernier abc écrit pour n’avoir cas écrire les derniers manquant.



  77. Greg a dit :
  78. Pas sur de bien comprendre, mais pourquoi ne pas partir de rien pour faire ton fichier ?
    Depuis une commande dos :
    cmd > FOR /L %i in (1,1,1000) DO echo abc%i >> abc.txt



  79. Nekobook a dit :
  80. Merçi pour ta réponse, ta commande dos fonctionne bien, je ne m’y attendais pas, je ne connaissais que les commandes de bases trés simple, mais là, merçi beaucoup! Sinon c’est vrai que j’aurai pu partir de zéro, mais comme j’en ai plein de à écrire, c’est comme chercher une aiguille dans un tas de paille.



  81. Greg a dit :
  82. Pour trouver une aiguille dans ton tas de paille c’est assez simple, il te suffit d’une allumette.
    Mais si cette commande dos ne te convient pas et que tu veux une solution complète, explique plus en détail ton problème (pour moi c’est beaucoup trop flou).
    ;)



  83. patrmich a dit :
  84. Bonjour,

    Dans un répertoire de fichiers html, en local, se trouvent des chaînes du type suivant :
    xxxxxxxxxx
    xxxxxxxxxx est une chaîne de caractères alphabétique dont la longueur peut varier de 10 à 100
    Je souhaite, remplacer dans tous les fichiers html, les expressions du type
    xxxxxxxxxx
    par
    xxxxxxxxxx

    En utilisant la fonction Rechercher et Remplacer de Notepad++ :
    quelle expression faudrait-il Rechercher ?
    par quelle expression faudrait-il la remplacer ?

    Merci par avance pour toute aide

    Patrick



  85. Greg a dit :
  86. Remplacer
    (.*)
    par
    (1)

    Plus sérieusement, il me faut plus d’info sur ce que tu cherches exactement comme expression pour pouvoir faire une regex qui te convienne. Postes nous au moins un exemple de 5 lignes avant/après ;)



  87. dukynoob a dit :
  88. Bonjour,

    J’ai trouvé la solution a mon souci voici le code en BATCH

    @echo off

    REM DECLARATION DE VARIABLE POUR PLUS DE FACILITER
    set dossier=F:\xml 2012 modifier\teste\
    set fichier texte=%userprofile%\Bureau\final.txt

    for /r “%dossier%” %%i in (*.txt) do (
    for /f “tokens=*” %%a in (’type “%%~fi”‘) do echo.%%a>>”%fichier texte%”
    )
    pause
    exit

    Merci



  89. patrmich a dit :
  90. Bonjour,

    Je suis désolé pour mon post tronqué d’hier soir.

    Je le reformule ci-dessous :

    Dans un répertoire de fichiers html, en local, se trouvent des chaînes du type suivant :
    “xxxxxxxxxx”
    xxxxxxxxxx est une chaîne de caractères alphabétique dont la longueur peut varier de 10 à 100
    Je souhaite, remplacer dans tous les fichiers html, les expressions du type
    “xxxxxxxxxx”
    par
    xxxxxxxxxx

    En utilisant la fonction Rechercher et Remplacer de Notepad++ :
    quelle expression faudrait-il Rechercher ?
    par quelle expression faudrait-il la remplacer ?

    Merci par avance pour toute aide

    Patrick



  91. patrmich a dit :
  92. Bonjour à nouveau,

    Malheureusement mon post est à nouveau “tronqué” automatiquement par le système qui retire le code html que je place de part et d’autre de “xxxxxxxxxx”.
    Je ne sais donc pas comment faire pour transmettre ma demande.

    Patrick



  93. Greg a dit :
  94. De souvenir > : “& g t ;” (sans les espaces, et “& l t ;” pour <)

    PS : Jean-Baptiste, tant qu’a vérifier les posts, si tu pouvais corriger ça, ce serait cool ^^

    Donc mettons que tu ai du code quelconque du genre
    <a href=”http://google.fr”>TEXTE A</a>
    <a href=”http://google.fr”>TEXTE B</a>
    Tu peux faire un remplacement du style :
    <a href=”http://google.fr”>([^<]*)</a>
    par
    (1)

    Le mieux c’est de lire les posts au-dessus et les liens qu’on file, en général ça répond à la question ;)



  95. jeanviet a dit :
  96. Salut Greg, désolé que tes posts passent à la modération systématiquement… Mon anti-spam est un peu sévère. Normalement s’il n’y a pas d’urls ou de caractères exotiques ça passe sans que j’ai à valider quoi que ce soit… Mais vu vos échanges de haute voltige, ça me paraît un peu compromis ;-) Merci en tout cas pour ton aide régulière dans les commentaires.



  97. jeanviet a dit :
  98. @patrmich oui on ne peut pas insérer du code HTML dans les commentaires… ça risquerait de casser la mise en page de l’article. Copie-colle le sur pastebin.com ou sur google doc et publie le lien public dans les commentaires ensuite



  99. patrmich a dit :
  100. Bonjour,

    Comme indiqué par jeanviet, j’ai placé ma question dans le lien suivant :
    http://pastebin.com/kYaM8SsH

    Merci par avance pour toute réponse.

    Patrick



  101. Greg a dit :
  102. J’ai pas trop le temps de tester mais ça devrait ressembler à un truc du genre :
    <li><font size=”2″>([^<]*)</font></li>
    par
    \1
    Bon courage ;)
    Greg



  103. patrmich a dit :
  104. Bonjour,

    Merci beaucoup à Greg. Cela marche très bien.

    Merci encore,

    Patrick



  105. dria a dit :
  106. Comment fait-on pour séparer les lettres d’un mot par un espace ou par autre chose ?(Par Notepad2)
    Exp:Remplacer Comment par c-o-m-m-e-n-t

    Merci de votre réponse.



  107. Greg a dit :
  108. Remplacer :
    (.)
    par :
    \1-

    C’est suffisant ?



  109. dria a dit :
  110. Merci beaucoup de votre aide ,ça marche bien.



  111. stagiaire_doc a dit :
  112. Bonjour à tous,

    Je cherche un forum sans en trouver sur l’utilisation du notepad++. Je trouve que cet article est très bien fourni donc je m’adresse directement ici. Voilà j’ai un problème. Je dois créer une newsletter html et dans ce cas j’utilise notepad. Mais le problème c’est que le contenu doit être modifiable par un novice (sous word ou autres). Peut-on faire des liens entre notepad++ et word? Notepad++ étant l’éditeur html et Word l’éditeur texte. Ainsi le contenu sera modifiable directement sous word et sera modifié également sur notepad++ ? Y-a-t’il une alternative?

    Merci d’avance



  113. Greg a dit :
  114. Salut !

    Oh oui, ya plein d’alternatives pour faire du web :

    - Des outils tout intégrés (publisher de microsoft pour n’en citer qu’un)
    - des frameworks comme GWT (tu codes en java, ça pond un site cross plateforme, du coup tu peux coder assez facilement l’import/export word (ça existe peut-être déjà), voir même l’éditeur pour tes clients).
    - L’export de word en version html : Et oui, word avait déjà pensé à ça.
    - Word++ : Tu exportes les pages word en html, et tu codes à coté le site pour charger dynamiquement le contenu modifié par tes clients.
    - Tout faire à la main avec Notepad++ en séparant contenu et mise en page, mais tes clients risque d’être réfractaire à Notepad++, d’autant qu’ils ne controleront pas la mise en page …
    - et pleins d’autres

    Le choix dépend donc en grande partie de tes compétences en informatique et de la souplesse de tes clients.
    Et pour répondre à ta question, il n’existe pas à ma connaissance de liens logiciels entre word et Notepad++.

    Bon courage !



  115. stagiaire_doc a dit :
  116. Bonjour Greg,

    J’ai déjà entendu parler de publisher édité par word ce me semble, mais j’ai remarqué sur internet que pour la création de newsletter ce n’est pas trop l’outil à utiliser (problème d’encodage entre autres).

    Ainsi je me suis tourné vers notepad++ (ayant un bon niveau en css et html mais pas en java..). Je suis sur la mise en page.

    Je pensais proposais à mes clients plusieurs modèles de base pour faire une newsletter (plusieurs fichiers css) et simplifier le contenu html. Mais je voulais savoir si il existait des alternatives (plugins ou autres) permettant de stocker le texte autre part (pas forcément sur word). Ou faire un lien direct avec la messagerie pourquoi pas.

    Comme ça le texte sera tapé directement dans un message pour être mise en forme automatiquement.

    Est-ce que cela peut être réalisable?

    Merci de cette réponse rapide.

    Bonne journée



  117. Greg a dit :
  118. Pour clarifier : Publisher et Word font partie de la suite Microsoft Office (et donc développé/édité par Microsoft).

    Petit test avec Word 2007, j’ai fait une page avec un titre, les couleurs que je veux et tout ce que je sais faire sur word, puis j’ai exporté vers une page html. J’ai ensuite sortie Notepad++ afin de créer un index qui charge dynamiquement les pages générés par Word via des iframes :
    http://pastebin.com/AitVtVS7

    J’ai rajouté dans cette page 4 fois le même article mais c’est juste pour tester un peu le principe, j’ai aussi appliquer une couleur de fond sur ma page qui s’est appliqué aussi dans les iframes.

    Au final, les clients utilisent word et n’ont plus qu’a faire “sauvegarder au format .html”, et ton code n’a plus qu’a sélectionner les .html à charger dynamiquement, et à rajouter le css adéquat.

    Cette solution te convient-elle ?

    Pour revenir sur ta proposition, décorrélé le contenu de la mise en page va devenir très complexe dès que l’un de tes clients voudra mettre un mot en gras ou en italique, changer une couleur, on n’importe quoi d’autre… C’est bien sur réalisable, mais ça va être très difficile pour pas grand chose.

    Sinon pourquoi ne pas utiliser tout simplement un CMS (Joomla, Drupal, Spip, WordPress, …) qui te fourniras plein de fonctionnalité en plus, et une interface facile à utiliser par tes clients ? (tout ça bien souvent gratuitement :) )

    A+



  119. stagiaire_doc a dit :
  120. Je n’ai pas encore étudier le sujet pour ton test mais je verrai cela en détails demain. Merci en tout cas. Pour l’idée d’un CMS je me dis qu’il n’est pas nécessaire d’utiliser un CMS pour une newsletter bien au contraire se serait utiliser un outil pour pas grand chose ne penses-tu pas?



  121. Greg a dit :
  122. La plupart des CMS sont puissants et offriront à tes clients un outil performant pour (quasiment) toutes leurs demandes, et ce, très facilement.
    C’est facile à mettre en place, à maintenir, et ça coûte pas grand chose au départ (je ne compte pas l’hébergement). Si j’avais ce problème, je n’hésiterais pas :)



  123. stagiaire_doc a dit :
  124. Merci de ta réponse. Je vais creuser les deux idées.

    Bonne semaine.



  125. patrmich a dit :
  126. Bonjour,

    Je souhaite faire la recherche ci-après dans un répertoire de fichiers html :
    a a
    a peut varier de a à z

    La recherche suivante permet donc de trouver toutes les occurrences :
    [a-z]&nbsp[a-z]

    Je voudrais remplacer
    a a (a variant de a à z)
    par
    a a (a variant de a à z) (un espace entre les deux caractères)

    Pour obtenir le résultat ci-dessus :
    - je dois chercher [a-z] [a-z]
    - mais je ne sais pas par quoi je dois le remplacer

    Merci par avance pour toute aide.

    Cordialement,

    Patrick



  127. Greg a dit :
  128. Salut !

    Je laisse souvent des commentaires pour répondre aux questions que se pose certain, mais j’ai comme l’impression que ce serait plus simple pour vous de lire le tuto en entier … [Ici, il suffisait de lire l'étape 7 du tuto]

    Enfin qu’importe, pour te donner la solution, c’est simple, il te suffit d’encadrer les membres à conserver par des parenthèses, et dans le champ de remplacement, utilisé \N (avec N l’index du champ précédemment conservé). Ce qui donne donc :

    Remplacer :
    ([a-z])&nbsp([a-z])
    Par :
    \1 \2

    Bonne continuation !



  129. Jusu a dit :
  130. Je deviens fou, pas moyen de trouver comment remplacer
    Command[nombre x]
    par
    Command[nombre +1, comment à 1]

    Ça a l’air d’être tellement simple que personne n’écrit comment faire.



  131. Jusu a dit :
  132. commence** à 1]



  133. Jusu a dit :
  134. et désolé pour le flood mais je coche la notif email.



  135. Greg a dit :
  136. Salut Jusu !

    Désolé mais je ne suis pas sur de comprendre tout ce que tu as écris. Peux-tu nous envoyer un morceau un peu plus gros de ton texte original, et de ce que tu attends du remplacement ?
    Si j’en crois ce que je comprend, ton texte ressemblerais à

    Command22
    Command33
    Command25

    et tu voudrais qu’il devienne

    Command23
    Command34
    Command26

    Si c’est bien ça, je ne vois pas ce que veut dire ton “commence à 1″, est ce que tu peux avoir des négatifs ??

    Toujours si j’ai bien compris, il ne suffit pas dans ton exemple de remplacer une chaîne par une autre mais tu souhaiterais faire une analyse syntaxique afin de récupérer la partie entière d’un nombre afin de l’incrémenter. Autant avec un langage de programmation quelconque c’est assez simple, autant si tu veux faire ça avec une expression régulière je ne vois pas comment faire …

    Bien sur, si je suis dans l’erreur, ne tient pas compte de tout mon barratin :)

    PS : N’hésites pas à dire bonjour et à poser une question dans tes messages :P



  137. Jusu a dit :
  138. Salut,

    Merci pour ta réponse, je souhaite que :
    Command22
    Command33
    Command25
    >>>devienne
    Command1
    Command2
    Command3
    (sans limite, et jusqu’aux nombres)

    Et désolé :) Bonjour.



  139. Jusu a dit :
  140. Roh, personne ne sait ?



  141. Greg a dit :
  142. Salut,
    Par hasard, ça ne serait pas plus facile de réécrire ton fichier entièrement ?

    Par exemple, depuis une commande dos :
    cmd > FOR /L %i in (1,1,1000) DO echo Command%i >> out.txt

    Perso, je ne crois pas cela réalisable juste avec Notepad++.



  143. Jusu a dit :
  144. Je ne sais pas à quoi correspond cette commande.



  145. Greg a dit :
  146. Démarrer > Executer > cmd
    Sinon tu peux chercher sur le net à quoi ça correspond :P.



  147. Jusu a dit :
  148. je connais cmd lol …



  149. Greg a dit :
  150. Bah alors c’est quoi ton problème ?
    Tu as un copier coller à faire c’est tout, et tu n’as pas l’air de connaitre le dos de toute évidence alors ne te gausses pas trop :P



  151. Albert a dit :
  152. Je me casse la tête pour arriver à remplacer plusieurs chaînes de caractères sans utiliser de lettre particulière.
    Problème : j’ai dans mon texte les chaînes suivantes parentèses comprises : (sonia), (jean), (préférable), (litres & kilomètres) et (25).
    Je voudrais tout simplement les effacer.
    Comment faire ?

    Merci pour toute aide.



  153. Albert a dit :
  154. Revenant au post précédent, je précise que je désire faire cette manip en une seule fois.

    Merci



  155. Greg a dit :
  156. Salut
    Une petite question avant de répondre, est ce que tu veux supprimer tout les textes entre parenthèses ou juste les exemples que tu as donné? La première est tout a fait faisable, la seconde nécessite probablement une recherche pour voir si le «ou» est dispo dans les regex de notepad++.



  157. Albert a dit :
  158. Grand merci de vous intéresser à ma demande. En réalité, je veux éliminer TOUS les mots (quel que soit le nombre de lettres) qui sont entre parenthèses (parenthèses comprises) en une seule manipulation.



  159. Greg a dit :
  160. Aaah !! Enfin mon PC !!

    Donc pour en revenir à ton problème, voila LE truc tout simple bien sur :
    \([^)]+\)
    Traduction :
    La parenthèse étant un signe spécial utilisé pour enregistrer une variable, il faut la “déspécialiser” avec le signe \.
    \( Fait une recherche sur toutes les parenthèses ouvrantes.
    [^)]+ Fait une recherche sur toutes les chaines de caractères ne contenant pas une parenthèse fermante (ici pas besoin de déspécialiser).
    \) Et bien sur pour finir pour chercher une parenthèse fermante.

    Je n’est pas testé mais je pense que ça ne fonctionnera pas avec des parenthèses imbriqués (il devrait te rester la partie droite de la parenthèse mère). Est ce que c’est suffisant pour toi ?

    A+



  161. Greg a dit :
  162. Ah pardon, un point à préciser, le + veut dire au moins un caractères. Si potentiellement tu avais dans ton texte () et que tu veux le prendre en compte, il faut remplacer le + par une *, cette dernière voulant dire zéro ou plus.



  163. Albert a dit :
  164. Comme on dit : testé et …. approuvé !
    Un grand (très, TRES) grand merci pour avoir résolu mon problème.
    Passez un excellent week-end en ce temps de BBQ (dans le sud) !



  165. Farid a dit :
  166. Bonjour,

    Je trouve votre site très intéressant et je souhaitais m’abonner à votre Newsletter mais apparemment il n’y en a pas.

    Bien cordialement.



  167. patrmich a dit :
  168. Bonjour,

    Je voudrais poser une question qui sort peut être du cadre de ce forum. Si c’est le cas, je m’en excuse par avance.

    Dans une requête SQL du type SELECT, il est possible de placer un Regex.

    Mais est-il possible de placer un Regex dans une requête SQL du type REPLACE ? (je n’ai pas su trouver le moyen de le faire)

    Merci par avance,

    Patrick



  169. Farid a dit :
  170. Bonjour,

    Comment faire pour chercher en une fois plusieurs mots dans un texte.

    En d’autres termes, je cherche l’opérateur “OU” en expression régulière.

    Exemple:
    Je cherche dans une liste d’images, celles qui ont les chaînes de caractères suivantes:
    - home
    - large
    - medium
    - small
    - thickbox

    Le but étant de les marquer pour ensuite supprimer les lignes correspondantes.

    Merci d’avance.



  171. Farid a dit :
  172. Bonjour,

    Dans l’exemple 4, vous dites:


    Dans le menu horizontal recherche, vous pouvez alors effectuer différentes actions sur les lignes marquées :

    Les Copier, pour les coller ailleurs… je n’aurai que du jeanviet

    Les Supprimer, adieu jeanviet !

    Or dans mon NotePad++, je ne trouve pas ces fonctionnalités dans le menu “Recherche”.

    Merci pour vos éclaircissements.



  173. Hutch a dit :
  174. Bonjour,
    je souhaiterai effectuer cette opération sur un fichier Texte avec UltraEdit?
    je veux completer les numéro de factures par une lettre “N”
    exemple:
    dans mon fichier j’ai les factures suivantes :
    FA010245
    FA124578
    FA425896

    je veux les remplacer par
    FA010245N
    FA124578N
    FA425896N

    Merci de votre aide



  175. Greg a dit :
  176. Salut

    Remplacez
    (.)$
    par
    \1N

    Ça rajoute un N après chaque ligne qui contient au moins un caractère. Si votre fichier contient d’autres lignes à ne pas modifier, il faudrait détailler un peu plus à quoi ressemble le fichier.
    PS : On parle de Notepad++ ici, pas sur que ça marche avec d’autres éditeurs.



  177. Hutch a dit :
  178. Bonjour,

    Merci Greg pour ta réponse,

    oui dans mon fichier j’ai d’autres lignes que ne veut pas toucher.
    je veux rechercher uniquement les lignes qui commencent pas “FA” puis 6 caractères (exemple : FA011236)
    et je dois les compléter par la lettre “N” (exemple : FA011236N)

    Qu’est ce que je dois mettre dans la zone Rechercher puis dans la zone Remplacer.

    Merci encore

    cdt,



  179. Greg a dit :
  180. Rechercher : (FA[0-9]+)
    Remplacer par : \1N

    C’est l’expression qui devrait te convenir, littéralement ça donne : Rajoute un N derrière toute ligne qui commence par FA et qui est suivi par au moins un chiffre. Si tu veux préciser exactement “6 caractères” comme tu le dis, ça peut être
    (FA[0-9][0-9][0-9][0-9][0-9][0-9])
    Si les 6 caractères sont des chiffres, ou
    (FA……)
    si on accepte tout les caractères possibles.

    Bye



  181. Hutch a dit :
  182. Bonjour,

    Merci beaucoup Greg, ta solution fonctionne parfaitement

    Bonne journée
    Salutation,



  183. srj a dit :
  184. Bonjour

    Je découvre cette page et je tombe sur mon c… tant j’y trouve d’infos intéressantes !

    Je cherche à rempalcer une série de chiffres par la même série, mais précédée et suivie d’une même série de carractères.

    Exemple : 98754 devraient devenir xxx98754yyy
    Ceci devrait s’appliquer à tout nombre composé de 5 chiffres (pas à ceux en ayant plus ou moins).
    Et seconde option (si possible) : idem, masi en filtrant sur les nombres compris entre tel et tel nombre (ex entre 5000 et 6000)

    Est-ce possible ?
    Merci de vos lumières…



  185. srj a dit :
  186. J’ai trouvé en relisant vos posts : recherche sur
    ([0-9][0-9][0-9][0-9][0-9])

    Merci !



  187. StéphanieVanHumbeek a dit :
  188. Monsieur,

    je vous remercie pour vos informations, très utiles et claires. Cependant, celles-ci ne me permette pas de régler le souci que je rencontre.

    Je me permets d’exposer mon problème, en espérant que vous pourrez m’aider à trouver une solution. Sur ce, je vous souhaite une très bonne continuation.

    - 3 Fichiers texte

    Le 1er : Contient des lignes de texte (plusieurs)
    Le 2nd: Contient des chiffres ex.: 45

    Le 3ème, qui est un fichier code et qui est la cible, doit en fait réunir les données qui sont présente dans chaque ligne
    indépendantes des fichiers 1 et 2, mais doit être placée à un endroit particulier relatif au code. Vous trouverez ci-dessous les données concrètes :

    Fichier 1 :
    ————
    Bonjour
    Comment ca va ?

    Fichier 2 :
    ————-
    7
    15

    Fichier 3 :
    ————

    TEXTE RunCount=”CHIFFRE”

    Comment pourrais-je automatiser tout ceci ?



  189. skalpa a dit :
  190. Bonjour,
    Tout d’abord merci pour le mal de crane ;) c’était très intéressant. J’ai cependant quelque chose que je n’arrive pas à faire.
    Je ne dois pas penser la chose de la bonne manière.
    Ex :
    J’ai besoin de transformer mon texte suivant en texte CSV afin de pouvoir l’importer dans excel (avec une tabulation entre chaque champs car mon fichier contient des décimales)
    23/10/2009 SIBIL GK904G UNL 60 1 41,4 CRLF
    23/10/2009 SIBIL GK901G RRL 60 1 49,8 CRLF
    23/10/2009 SIBIL GK901G UXL 74 2 97,2 2 97,2 CRLF
    23/10/2009 SIBIL GK901G MML 73 1 48,6 1 48,6 CRLF
    24/02/2011 HENRY MEDORS 2520M41652MC56 1 74,36 CRLF
    28/02/2011 SALOFI 226441 003 64P9 1 58,5 1 58,5 CRLF
    28/11/2011 DE RIGO S8653 1 60,8 1 60,8 CRLF
    25/11/2011 MARCOLON OPC FT10749050 1 84 CRLF
    en
    23/10/2009->SIBIL GK904G UNL->60->1->41,4 CRLF
    23/10/2009->SIBIL GK901G RRL->60->1->49,8 CRLF
    23/10/2009->SIBIL GK901G UXL->74->2->97,2->2->97,2 CRLF
    23/10/2009->SIBIL GK901G MML->73->1->48,6->1->48,6 CRLF
    24/02/2011->HENRY MEDORS->2520M41652MC56->1->74,36 CRLF
    28/02/2011->SALOFI->226441 003 64P9->1->58,5->1->58,5 CRLF
    28/11/2011->DE RIGO->S8653->1->60,8->1->60,8 CRLF
    25/11/2011->MARCOLON OPC->FT10749050->1->84 CRLF

    CRLF = fin de ligne, retour chariot
    Parfois on a 2 colonnes et parfois une seule, d’ou ma difficulté :/

    Merci par avance



  191. Greg a dit :
  192. Salut !
    Alors ça c’est un cas bien compliqué que tu nous amènes, je n’ai pas trouvé de véritables logiques à ton découpage. En effet, un mot avec des lettres et des chiffres peut-être considéré soit comme faisant partie de la deuxième colonne, soit de la troisième (séparateur ->).
    Si tu as pas mal de répétitions comme dans ton exemple, tu peux essayer d’appliquer plusieurs remplacement, tout en faisant gaffe à l’ordre d’exécution.

    Pour ton exemple :
    ([0-9/]*) ([A-Z]*) ([A-Z0-9]*) ([A-Z]*) ([0-9/]*) ([0-9/]*) ([0-9,/]*) ([0-9,/]*) ([0-9,/]*)
    à remplacer par :
    \1->\2 \3 \4->\5->\6->\7->\8->\9

    Suivi de :
    ([0-9/]*) ([A-Z]*) ([A-Z0-9]*) ([A-Z]*) ([0-9/]*) ([0-9/]*) ([0-9,/]*)
    à remplacer par :
    \1->\2 \3 \4->\5->\6->\7

    Et-cetera, le but étant de définir à chaque fois la forme de ta phrase, enregistrer via les parenthèses, et réécrire ton résultat avec les nouveaux séparateurs.

    PS : Si tu as plus d’explication pour différencier un GK901G (2ème col.) d’un S8653 (3ème col.), ça pourrait grandement aidé.
    PPS : J’ai laissé les “->” mais si tu veux des tabulations, il faudra utiliser \t
    PPPS : Est ce que tu peux regénérer ton texte de base depuis un outil pour rajouter des séparateurs à ce niveau là ? C’est surement plus simple.

    Bon courage ;)



  193. skalpa a dit :
  194. Merci,
    En fait j’ai commencé par la fin, avec les chiffres, puis ensuite par le début.
    Mais poser l’énoncé sur le site m’a aidé moi-même à trouver une forme de solution

    En tous les cas merci pour ta rapidité de réaction
    a+



  195. St_patik a dit :
  196. Bonjour

    Dans un fichier texte, j’ai une adresse courriel par ligne, j’aimerais effacer tous les caractères que se retrouve avant le @

    Merci d’avance de votre aide



  197. Greg a dit :
  198. Salut,
    Un truc du genre remplacer :
    [a-zA-Z0-9_]*@([a-zA-Z0-9_.]*)
    par
    \1
    Après faut lire un peu le sujet et réfléchir 10 secondes ;)
    Si ça marche pas, donne les lignes qui pose problèmes.



  199. vic a dit :
  200. Merci, je ne trouvais pas comment récupérer le second élément d’une regex avec l’antislash.
    Très utile, merci !



  201. yves44 a dit :
  202. Autre solution pour remplacer les lignes vides (avec ou sans espaces) sans plugin:
    Se positionner en mode étendu
    recherche :
    \r\n *\r\n
    remplacement
    \r\n



  203. frk51 a dit :
  204. Bonjour , voulant remplacé un mot dans un fichier xml je pris notepad je fais comme sité plus haut , et on me dit ” Cannot replace text. The current document is read only. ” je vais dans le fichier enlève le mode lecteur seul et sa marche toujours pas merci de m’aidé



  205. Greg a dit :
  206. C’est complètement hors sujet mais je me permet quand même de répondre. Copie ton fichier dans tes documents, édites le, et une fois que c’est bon, remet le à sa place. A ce moment là Windows t’affichera une popup de confirmation des droits, tu valides et c’est bon.



  207. Laurent a dit :
  208. Bonjour,
    Débutant sur Notepad++ et après maintes recherches, je n’arrive pas à trouver comment automatiser l’action suivante : faire revenir à fin de la ligne précédente, la ligne commençant par le mot “xxx” et ajouter un espace.
    J’ai testé des codes comme \n à partir de la fenêtre chercher-remplacer, mais hélas pas de résultats convaincant…Si vous avez une soluce ce serai magnifique !



  209. Greg a dit :
  210. Salut Laurent,
    Un peu de mal à comprendre quel est ton exemple, alors voici ce que j’en comprend. Mettons que ton texte de base soit :

    Un deux trois
    Quatre cinq six
    Sept huit neuf
    Quatre cinq six
    Un deux trois

    Et que tu souhaire faire un retour avant les “cinq”, il faut remplacer “cinq” par “\ncinq” en mode étendu.
    Je doute fort que ce soit ton problème, alors n’hésites pas à mettre un jeu de donnée avant/après, ça aide ;)



  211. Laurent a dit :
  212. Merci pour cette réponse rapide.
    En effet, je vais tâcher d’être plus clair par un exemple simple:

    Ligne type A1
    xxx Ligne type B1
    Ligne type A2
    xxx ligne type B2

    je voudrai obtenir :

    Ligne type A1 xxx Ligne type B1
    Ligne type A2 xxx Ligne type B2

    En fait en testant \nxxx j’obtient un saut de ligne mais pas un retour à la ligne précédente à partir du mot xxx.

    Est-ce plus compréhensible ?



  213. Greg a dit :
  214. Sous Windows, le retour à la ligne est identifié par \r\n, sous Linux c’est uniquement \n, et sous Mac c’est \r de mémoire.
    Vu les probabilités tu travail sous Windows, tu peux donc opérer de 3 façons différentes :
    - Remplacer “\r\nxxx” par ” xxx”.
    - Commencer par convertir les retours à la ligne en version UNIX : Edition > Convertir les sauts de ligne > UNIX, puis recommencer l’opération précédente.

    PS : Oui, c’est bien plus compréhensible :)



  215. Greg a dit :
  216. PPS : J’avais bien une 3ème méthode mais compliqué et pas très pertinente ^^



  217. Laurent a dit :
  218. Je suis bien sous Windows…pas assez “expert” pour le reste !
    Si j’ai bien compris il fallait que je place dans rechercher xxx et dans remplacer : \r\nxxx c’est bien ça ?

    Dans ce cas j’obtient un saut de ligne :

    Ligne type A1
    saut
    xxx Ligne type B1
    saut
    Ligne type A2
    saur
    xxx ligne type B2

    le mot XXX ne se “colle” pas à la suite de la ligne du dessus…
    Ai-je fait la bonne manip ?



  219. skalpa a dit :
  220. imaginez quelqu’un qui tombe sur le site par erreur… déjà que j’ai du mal à suivre ;-)



  221. Greg a dit :
  222. Pas de bol, c’était l’inverse :-p



  223. walane a dit :
  224. Parfait merci !



  225. medi113 a dit :
  226. Bonjour,

    JE voulais remplacer in ‘ avec ” mais juste pour ceux utilisé pour les mot et non pas ceux pour délimiter les commentaires.

    Comment on table XXX as ‘Identifiant du ticket d’autorisation’;
    Comment on table XXX as ‘Code type de taux d’intérêt à l’origine’;

    MErci d’avance pour votre coopération .



  227. graig a dit :
  228. bonjour,

    J’ai juste une simple question: lorsque je sélectionne la lettre “U” dans l’exemple ci-dessous, tous les “U” entre parenthèse se selectionne en vert!

    –> je voulais savoir si il existait une astuce pour remplacé tous les “U”, sauf celui qui se trouve dans le mot “plus”1

    exemple:
    plus (U)
    lkjo asdg (U)
    pli.lsdji (U)

    merci d’avance,
    Graig



  229. Lutz a dit :
  230. Ce que je cherche c’est remplacer des chaines de caractères variables situées entre 2 balises fixes par une autre chaine de caractères fixe.

    Comme ceci :

    http://ncioahifeazfaf654/9465dfsafazefa/image1.jpg
    http://fdsfze6514rz65f165ht65ra1/image2.jpg
    http://5vert15aef/15afga5fe1616/5ae5f1f65a/image3.jpg

    Balises fixes : “http://” et “/image”

    Pour obtenir ceci :

    http://nouvelle_url/image1.jpg
    http://nouvelle_url/image2.jpg
    http://nouvelle_url/image3.jpg

    Merci d’avance.



  231. Greg a dit :
  232. Bonjour,
    C’est étonnant qu’avec tout les exemples précédents plus un cours complet tu ne soit pas capable de trouver un cas similaire à ton problème…
    Qu’est ce que tu as essayé jusqu’a maintenant ?
    Greg



  233. Lutz a dit :
  234. J’ai fini par trouver.
    Rechercher : (http.*post)
    Remplacer : bla_bla_bla



  235. Albert a dit :
  236. Super ce tutorial !

    Voici une question qui j’espère trouvera réponse.

    Peut-on effectuer une série d’opérations consécutives (via un fichier batch ?) et comment exécuter ce fichier.

    1. Je recherche et je marque toutes les lignes comportant
    \[[^]]+\]
    2. Je recherche et je marque toutes les lignes comportant
    \([^)]+\)
    3. Je recherche toutes les lignes marquées et je les supprime.

    Merci par avance de votre gentillesse à vous pencher sur mon problème.



  237. JojoSs75 a dit :
  238. Bonjour,
    je cherche à dupliquer une ligne avec le remplacement d’un mot.
    Voici ce que j’ai écrit grâce a votre aide.

    Recherche :
    (.*)__PT (.*)\n
    Remplace par :
    /1__PT /2\n/1__EN /2\n

    par contre les expression reguliere (/1) et (\2)ne sont pas recopier !!!
    j’utilise la dernier version de Notepad++

    Merci de votre aide



  239. pancratee a dit :
  240. Bonjour

    merci pour les précieuses informations contenues sur cette page.

    Pour ma part je ne sais pas si c’est réalisable par notepad++

    Je souhaite rechercher dans un fichier :

    toutes les lignes où il ya la présence des caractères suivant : 4590071

    une fois ces lignes trouvées si en position 50 il y a présence d’un S alors sur cette même ligne à la position 63 si le caractère est vide mettre 1

    c’est un peu délicat pour moi je bloque complètement

    Merci pour votre aide



  241. Lutz a dit :
  242. Bonjour.

    Je voudrais intervertir deux chaines de caractères.

    Pour que ceci :

    Je m’appelle Henri…

    Devienne ceci :

    Je m’appelle Henri…

    Quelle que soit la lettre après

    Merci.



  243. Lutz a dit :
  244. Bonjour.
    Je voudrais intervertir deux chaines de caractères.
    Pour que ceci :
    (/span)Je m’appelle Henri…
    Devienne ceci :
    J(/span)e m’appelle Henri…
    Quelle que soit la lettre après (/span)
    Merci.



  245. Lutz a dit :
  246. J’ai finalement trouvé.

    Rechercher : ()(.)
    Remplacer : \2\1



  247. Lutz a dit :
  248. J’ai finalement trouvé.
    Rechercher : ( /span )(.)
    Remplacer : \2\1

    (Avec les chevrons ouvert et fermant pour une balise.



  249. Greg a dit :
  250. Bonjour les gens !

    @Albert : pourquoi ne pas faire la suppression en 2 fois ? Sinon ça va grandement complexifié ta regex pour pas grand chose…

    @JojoSs75 : (.*) signifie tout les caractères possibles, donc ça sélectionne toute ta ligne. En fait ce que tu veux c’est n’importe quoi SAUF “__PT” suivi de n’importe quoi donc un truc du genre dans ta recherche devrait faire l’affaire:
    ([^_]*)__PT(.*)\n
    Si tu dois gérer des _ avant PT, la requête va devenir plus complexe, donc pour simplifier je te conseil de remplacer __PT par un caractère non présent dans ton fichier
    Remplacer __PT par @
    Puis remplader ([^@]*)@(.*)\n par ce que tu veux.

    @pancratee : Si je comprend ton problème de position, c’est impossible avec Notepad++. Tu es bon pour apprendre un langage de programmation ;)
    Si tu veux rester dans les regex, tu dois pouvoir t’en sortir en utilisant awk et compagnie (et avec pas mal de courage et de temps). Tu peux aussi faire du bash/batch suivant ton OS préféré pour faciliter la manipulation.
    Dernière solution, essayé un vrai langage de programmation (mes préférences : C++/Java/C#)

    Bon courage !

    PS : oui j’ai vu la date, et je pense bien que ça ne servira pas aux premiers qui ont posé la question ^^



  251. Alphy a dit :
  252. Bonjour,

    Bravo pour ce tuto.
    J’ai une question pour vous que je chercher depuis très longue temp.
    Je voudrai modifier ces lignes :
    <![CDATA[]]>
    vers
    <![CDATA[Photo N° 1]]>
    Là, tout va bien, mais le problème est j’ai 400 ligne comme ça.
    Donc comme ceci :
    <![CDATA[Photo N° 1]]>
    <![CDATA[Photo N° 2]]>
    <![CDATA[Photo N° 3]]>
    Mais comment faire ça ?
    Je n’arriver trouver comment mettre N° automatiquement avec Notepad++.
    Il y a pas un expression reguliere pour ce problème ?
    En fait c’est une langage XML.

    Merci pour votre l’aide

    Cordialement,



  253. ALBERT a dit :
  254. Dès la version 6.5 une nouvelle fonction est apparue, c’est la possibilté de supprimer les parenthèses, crochets, accolades …

    4. Add new feature: auto-close parentheses, quotes, bracket and matched xml/html tag.

    Je ne vois cependant pas comment faire. Je ne parviens pas à atteindre dans les menus déroulants cette fonction.

    Quelqu’un peut-il me dire comment faire ?

    Merci.



  255. Leuzar a dit :
  256. Bonjour,

    je fais régulièrement des recherches/remplacement dans des fichiers XML via notepad++ et je suis bloqué par la problématiques suivante:
    Effectuer des remplacements en testant eux balises
    Pr ex:
    je veux remplacer dans la première balise 0000000000000 par quand la seconde balise est non vide.
    OPÉRATION 1
    *je recherche et marque les deux types balises correspondant à mon critère dans le fichier :
    0000000000000
    ………….
    OPÉRATION 2
    *je veux ensuite parmi, les lignes marquées remplacer
    0000000000000 par

    marquage réussi, mais comment faire la deuxième opération ?



  257. Leuzar a dit :
  258. Bonjour,

    je fais régulièrement des recherches/remplacement dans des fichiers XML via notepad++ et je suis bloqué par la problématiques suivante:
    Effectuer des remplacements en testant eux balises
    Pr ex:
    je veux remplacer dans la première balise
    [ 0000000000000] par [ ]quand la seconde balise est non vide.

    OPÉRATION 1
    *je recherche et marque les deux types balises correspondant à mon critère dans le fichier :
    [0000000000000]
    [.............]
    ………….
    OPÉRATION 2
    *je veux ensuite parmi, les lignes marquées remplacer
    [0000000000000] par [ ]

    marquage réussi, mais comment faire la deuxième opération ?



  259. dria a dit :
  260. Comment fait-on pour effacer en une seule fois une partie d’un texte ou d’un tableau.(Par Notepad2)
    exemple:

    N–1–2–1–N
    1–1–N–2–1
    1–2–1–1–N
    1–1–1–N–N
    N–N–1–1–2
    Je veux effacer:
    les 2 premières colonnes:
    N–1
    1–1
    1–2
    1–1
    N–N
    pour qu’il me reste:

    –2–1–N
    –N–2–1
    –1–1–N
    –1–N–N
    –1–1–2
    Merci beaucoup de votre aide.



  261. Pierre 69 a dit :
  262. Bonjour
    J’ai trouvé :
    Rechercher : ^(.){3}((.)+)
    à remplacer par : \2
    ^(.){3} : reconnait les 3 caractères à partir du début de ligne
    “^” (à partir du début de ligne)
    “(.)” (1 caractère) et cela 3 fois “{3}”
    ((.)+) : crée un modèle que l’on vas utiliser dans Remplacer
    “(.)+” : tous les caractères à partir de 1 (+)
    Le modèle devrait normalement être le 1 puisqu’il est le seul déclaré par (), mais en fait c’est le 2èm soit \2.
    Pour lever le doute j’ai fait dans remplacer \1__\2 sur le fichier suivant :
    A–1–2–3–B
    4–5–C–6–7
    8–9–0–1–D
    2–3–4–N–E
    F–G–5–6–7
    et j’ai obtenu :
    1____–2–3–B
    5____–C–6–7
    9____–0–1–D
    3____–4–N–E
    G____–5–6–7
    ce qui me laisse penser que (.) est considéré comme un modèle (donc le \1) ‘rempli’ du dernier du 3èm caractère trouvé sur chaque ligne.
    Me tromp’je ? (pour les experts des RegEx sous Notepad ++



  263. Pierre 69 a dit :
  264. RE,
    J’me corrige :
    Rechercher : ^.{3}((.)+) (plus de groupe avec le 1er pt)
    donc
    Remplacer par \1
    Ce que j’ai compri : les 3 premiers caractères de chaque ligne seront remplacés par le contenu du groupe trouvé par ((.)+) qui est le groupe n°1 donc \1



  265. dria a dit :
  266. Merci beaucoup Pierre,
    votre aide n’a pas marché sur Notepad 2.
    Par contre sur Notepad ++ ça marche mais avec :
    Recherche : ^(.){3}
    Remplacer par : /1
    avec expression régulière coché dans mode de recherche et en cliquant sur “Remplacer sur tous les documents ouverts”.
    Merci encore



  267. dria a dit :
  268. pardon , Remplacer par : \1



  269. Pierre 69 a dit :
  270. Bonjour Dria
    Je n’avais pas vu la ref à Notepad 2, ce site traitant de Notepad++.
    Je ne vois pas comment “Recherche : ^(.){3}” peut fonctionner selon ce qui est recherché, “(.)” crée un groupe utilisable par \1 qui contient le 3èm caractère trouvé dans le document traité.
    Pour bien visualiser ce qui se passe, j’ai fait la “matrice” suivante :
    A–B–C–D–E
    F–G–H–I–J
    K–L–M–N–O
    P–Q–R–S–T
    U–V–W–X–Y
    Dans Rechercher : ^(.){3} (votre solution)
    Dans Remplacer : \1
    Ne pas utiliser “Remplacer dans tous les documents ouverts”,
    “Expression régulière” coché, “Boucler” non coché
    Mettre le curseur au début du texte,
    Faire Suivant -> A-B sont sélectionnés
    Faire Remplacer -> la ligne devient B–C–D–E (B est bien le 3èm caractère de la ligne d’origine), si on continue on aura à la fin le dernier caractère de chaque ligne (E pour la 1ère)
    Alors que si on fait :
    Dans Rechercher : ^.{3}(.+)
    Dans Remplacer : \1
    On crée ainsi un groupe sur les 6 caractères, qui vont remplacer les 3 premiers (sélectionnés par “^.{3}”)
    Faire Suivant -> A–B–C–D–E sont sélectionnés
    Faire Remplacer -> la ligne devient –C–D–E ce que vous recherchez,
    “Remplacer tout” aurai fait le travail en une seul fois.
    J’espère avoir été clair.



  271. dria a dit :
  272. Bonjour Pierre,
    Un grand merci pour votre aide. J’espère que cela aidera beaucoup de gens. En ce qui me concerne, je ne suis pas dans le domaine informatique, je travail en tant qu’ouvrier au bâtiment et je cherche juste ce qui m’intéresse pour faire ce que je veux dans un système réduit de jeu de loto foot.
    Ce que j’ai fais, c’est juste par hasard en se basant sur votre aide pour supprimer quelques colonnes don’t je veux me débarrasser, mais ce que vous m’avez montré est clair et très précis et je sais faire ça avec excel,mais cela demande beaucoup de temps. Avec votre méthode c’est beaucoup plus facile et beaucoup plus rapide pour gagner du temps à faire mes combinaisons.
    Vous m’avez écrit : -Mettre le curseur au début du texte
    _Recherche: ^.{3}(.+)
    -Remplacer par: \1
    Si vous voulez nous compléter votre aide, vous pouvez nous montrer comment supprimer une ou quelques colonnes au milieu de notre exemple ou bien supprimer quelques unes ou quelques colonnes à la fin de notre exemple.
    Je vous remercie beaucoup par avance !



  273. Pierre 69 a dit :
  274. La suite,
    Supprimer Col 1
    ^.{2}(.+)
    \1
    Supprimer Col 2
    ^(.{2}).{2}(.+)
    \1\2

    Supprimer Col 3
    ^(.{4}).{2}(.+)
    \1\2

    Supprimer Col 4
    ^(.{5}).{2}(.+)
    \1\2

    Supprimer Col 5
    ^(.{7}).+

    Supprimer Col 3 et 4
    ^(.{4}).{4}(.+)
    \1\2

    Supprimer Col 2,3 et 4
    ^(.{2}).{6}(.+)
    \1\2
    à vous de trouver les cas que je n’ai pas traités
    Souvenez vous que les groupes (ce qui est entre parenthèse ) c’est ce que vous voulez garder en le réutilisant par \ et le n° du groupe, pour ce cas : ^(.{2}).{6}(.+)
    on garde les 2 premiers caractères par ^(.{2}) qui sont dans \1
    on effacera les 6 suivants par .{6}(car on ne les mets pas dans un groupe et donc on les remplace par rien)
    et par (.+) on met tous les caractères restants dans \2
    A+



  275. dria a dit :
  276. Merci beaucoup de votre aide.



  277. isidore a dit :
  278. Bonjour,

    J’ai une question complexe à résoudre par rapport à un gros fichier.

    J’ai un fichier avec des blocs de lignes de ce type

    0001 PILOT 0015
    0001 TOTO TITI TUTU
    0001 ALLO UN DEUX
    0025 PILOT 0014
    0025 ALHUILE TUTU TETE
    0002 PILOT 0096
    0002 UN DEUX
    0010 PILOT 0015
    0010 TEST

    Et je voudrais supprimer tous les blocs de lignes dont le PILOT est 0015 pour obtenir à la fin un fichier de ce type :

    0025 PILOT 0014
    0025 ALHUILE TUTU TETE
    0002 PILOT 0096
    0002 UN DEUX

    A votre avis comment peut-on procéder ?

    Je vous remercie

    Cdt



  279. Pierre 69 a dit :
  280. Bonjour Isidore
    Deux façons à mon avis : le tableur, un filtrage sur PILOT 0015, une sélection de tout ce qui est obtenu, l’effacement, puis un tri pour éliminer les lignes vides.
    Avec notre éditeur favori :
    Rechercher : ^[0-9]{4} PILOT 0015\r\n si vos données ne comportent pas d’autres données après PILOT 0015, si il y en a, rajouter “.+” (sans les guillemets) avant \r\n
    et si pour chaque enregistrement (ligne), vos données commencent bien par les 4 chiffres.
    Remplacer : rien
    Explication :
    “^[0-9]{4}” 4 caractères numériques en début de ligne,
    ” PILOT 0015″ le critère de sélection,
    “\r\n” pour enlever aussi la ligne vidée, j’ai sur ma page d’essai CRLF en fin de ligne, (CariageReturn = CR = \r, LineFeed = LF = \n)

    Il est bien de mettre l’exemple complet de ce qu’on veut obtenir : il manque 0001 TOTO TITI TUTU, 0001 ALLO UN DEUX, 0010 TEST)
    Cordialement



  281. isidore a dit :
  282. Rebonjour Pierre,

    Je te remercie pour ta réponse rapide. Je viens de faire un test, mais je n’obtiens pas le bon résultat :
    0001 TOTO TITI TUTU
    0001 ALLO UN DEUX
    0025 PILOT 0014
    0025 ALHUILE TUTU TETE
    0002 PILOT 0096
    0002 UN DEUX
    0010 TEST

    Je n’arrive pas à faire comprendre à la recherche que je veux supprimer les lignes 0001 et 0010 qui figurent sous l’intitulé PILOT 0015 en modifiant le critère de recherche “^[0-9]{4} PILOT 0015\r\n”.

    Cdt



  283. Franck a dit :
  284. @isidore
    Je viens de tester la soluce de pierre et ça marche parfaitement !
    as tu bien activé la case expression régulière ?
    ^[0-9]{4} PILOT 0015\r\n c’est parfait



  285. isidore a dit :
  286. Bonjour Franck,
    L’éditeur en version 6.3.3 me dit qu’il ne remplace que 2 occurences (ma vieille version 5.7 ne fait rien du tout). Je testerai ce week end avec la dernière version (6.5.3). Certainement que c’est celle que vous utilisez.
    Merci bcp pour votre aide. Vous êtes super.
    Cdt



  287. dria a dit :
  288. Bonjour,
    En utilisant Notepad++,je veux savoir si c’est possible de remplacer une colonne par une autre.
    Ex:
    A B C D E
    F G H I J
    K L M N O
    P Q R S T
    Je veux remplacer
    C
    H
    M
    R
    par:
    1
    2
    3
    4
    pour avoir:
    A B 1 D E
    F G 2 I J
    K L 3 N O
    P Q 4 S T
    C’est un exemple simple pour la compréhension,mais nous supposons comme s’il y a 200 lignes.
    Merci beaucoup pour toute aide.



  289. Franck a dit :
  290. Comment supprimer les doublons (lignes identiques) d’une liste sous notepad++ ?

    Merci



  291. Pierre 69 a dit :
  292. Bonjour Dria
    “remplacer” une colonne par une autre” faut-il quelle existe
    vous voulez dire, je pense, remplacer les valeurs d’une colonne par une incrémentation, ligne 1,nouvelle valeur = 1, ligne 2, nouv. val. = 2, etc
    Je ne crois pas que cela soit possible avec Notepad++ avec Rechercher Remplacer, il faut pouvoir faire un script qui agit sur le contenu de NotePad++.
    Le plus simple le tableur, sélection de la colonne à supprimer, suppression, mettre 1 dans 1ère cellule, 2 ds 2èm cellule, sélectionner les deux cellules, curseur ds le coin inférieur droit (pour obtenir petite croix), double cliquer gauche et toute la colonne se remplie en “incrémentant”.
    Cordialement



  293. dria a dit :
  294. Merci beaucoup pour votre réponse, je sais le faire avec un tableur mais c’est juste par curiosité que je voulais savoir si on pouvait le faire avec Notepad ++ .
    Encore merci .



  295. isidore a dit :
  296. Bonjour à vous,

    Je reviens vers vous car j’ai testé l’expression régulière “^[0-9]{4} PILOT 0015\r\n” avec la dernière version 6.5.3 de notepad++, mais je n’obtiens toujours pas le bon résultat. Comme c’est pour le boulot, je vais faire autrement pour traiter mon fichier de 112000 lignes car je n’ai pas le temps de trouver le bug.
    Bien Cordialement



  297. Franck a dit :
  298. Tu as un moyen de nous envoyer un plus large extrait de ton fichier ?

    Je peux tester sur 5000 lignes et t’envoyer le résultat ..



  299. Pierre 69 a dit :
  300. @isidore
    que voulez vous dire par “mais je n’obtiens toujours pas le bon résultat”, quel résultat est obtenu ?
    Quel est le msg en bas de la fenêtre, écrit en quelle couleur.
    Une supposition toute bête, vous ne mettez pas les guillemets, qd vous écrivez dans Recherche : ^[0-9]{4} PILOT 0015\r\n
    (il ne les faut pas bien sûr)



  301. Katy a dit :
  302. Bonjour,
    J’ai un code en XML et je souhaite sélectionner le texte entre les balises :
    texte (j’utilise notepad++)
    Pouvez-vous me dire quelle regex appropriée à ce genre de demande ?

    Merci pour votre aide



  303. mobs2000ontheweb a dit :
  304. Bonjour, merci pour ce tutorial. Par contre, une précision s’impose.
    L’indication suivante n’est pas assez précise : “Dans le menu horizontal recherche, vous pouvez alors effectuer différentes actions sur les lignes marquées :”

    En effet, il faudrait préciser : “allez dans le menu ‘Recherche > Signets’ pour trouver les options suivantes : ”

    Merci
    mobs



  305. Sefou a dit :
  306. Bonjour je cherche simplement à remplacer 2 chiffred qui se suivent par un seul

    exemple:
    10 10
    11 11
    12 12

    Par
    10
    11
    12
    Comment je pourrais faire Svp ?



  307. dria a dit :
  308. Bonjour Sefou
    Sous Notepad ++
    Sur remplacer,cochez Expression régulière,puis sur Recherche taper ^(.{2})(.+) et sur Remplacer par \1
    Mettez le curseur au début de la ligne et cliquez sur Remplacer tout.



  309. dria a dit :
  310. Bonjour Sefou
    Sous Notepad ++
    Sur remplacer,cochez Expression régulière,puis sur Recherche taper ^(.{2})(.+) et sur Remplacer par \1
    Mettez le curseur au début de la ligne et cliquez sur Remplacer tout.



  311. Sefou a dit :
  312. Merci cela n’a pas marché en suivant scrupuleusement vos consigne, en effet cela à remplacer tout le contenu du textes et chiffres par /1
    c’est à dire
    ordre 5 ordre n°5 : txt
    Ordre 6 Ordre n°6 : txt
    Ordre 7 Ordre n°7 : txt

    par

    /1

    moi je voudrais comme suis (imaginez qu’il y a 50 000 ligne comme cela):

    ordre 1 ordre n°1 : txt
    Ordre 2 Ordre n°2 : txt
    Ordre 3 Ordre n°3 : txt
    Ordre 4 Ordre n°4 : txt

    par

    ordre n°1 : txt
    Ordre n°2 : txt
    Ordre n°3 : txt
    Ordre n°4 : txt
    Voila merci d’avance de m’aidez c’est toujours d’actualité



  313. dria a dit :
  314. Bonjour Sefou
    Faîtes attention à \1 et non /1
    Donc essayez avec ^(.{2})(.+) et sur Remplacer par \1
    Je viens de l’essayer et ça marche.



  315. dria a dit :
  316. Bonjour Sefou
    Quant à question,à mon avis,vous fractionnez vos lignes en plusieurs parties.
    1°partie ordre 1 à ordre 9 (1 chiffre) Avec ^.{7}(.+)
    2° ,, ,, 10 ,, 99 (2 ,, ) ,, ^.{8}(.+)
    3° ,, ,, 100 ,, 999 (3 ,, ) ,, ^.{9}(.+)
    4° ,, ,, 1000 ,, 9999(4 ,, ) ,, ^.{10}(.+)
    5° ,, ,, 10000,, 99999(5 ,, ) ,, ^.{11}(.+)
    A chaque fois 1 en plus
    Et à la fin vous fusionnez les parties trouvées.
    Il y’a peut être d’autres solutions rapides.



  317. Sefou a dit :
  318. Effectivement si on utilise cette formule comme suis cela marche avec
    1 1
    2 2
    10 10
    50 50
    qui donne
    1
    2
    10
    50
    Mais cela ne marche pas si je dois utiliser la formulation dis précédemment:
    Ordre 1 Ordre n°1 : txt
    Ordre 2 Ordre n°2 : txt
    Ordre 3 Ordre n°3 : txt
    Ordre 4 Ordre n°4 : txt
    avec ^(.{2})(.+) et \1 cela va donner :
    Or
    Or
    Or
    Or

    Voila ce que je recherche depuis tant de temps :

    Ordre 1 Ordre n°1 : du txt
    Ordre 2 Ordre n°2 : du txt
    Ordre 3 Ordre n°3 : du txt
    Ordre 49000 Ordre n°49000 : du txt

    qui donnerait (il faut imaginer plusieurs millier de ligne de ce genre bien trop long et fastidieux pour le faire manuellement):

    Ordre n°1 : du txt
    Ordre n°2 : du txt
    Ordre n°3 : du txt
    Ordre n°49000 : du txt

    Voila en espérant bien me faire comprendre, je reste à disposition pour d’autre exemple et pour répondre dés que possible.
    Merci d’avance



  319. dria a dit :
  320. Bonjour Sefou
    Quant à votre question,à mon avis,vous fractionnez vos lignes en plusieurs parties.
    1°partie ordre 1 à ordre 9 (1 chiffre) Avec ^.{7}(.+)
    2°partie 10 ordre 99 (2 chiffres ) ,, ^.{8}(.+)
    3° ,, ,, 100 ,, 999 (3 chiffres ) ,, ^.{9}(.+)
    4° ,, ,, 1000 ,, 9999(4 chiffres ) ,, ^.{10}(.+)
    5° ,, ,, 10000,, 99999(5 chiffres ) ,, ^.{11}(.+)
    A chaque fois 1 en plus
    Et à la fin vous fusionnez les parties trouvées.
    Il y’a peut être d’autres solutions rapides.



  321. dria a dit :
  322. Bonjour Sefou
    Quant à votre question,à mon avis,vous fractionnez vos lignes en plusieurs parties.
    1°partie ordre 1 à ordre 9 (1 chiffre) Avec ^.{7}(.+)
    2°partie 10 ordre 99 (2 chiffres ) ,, ^.{8}(.+)
    3° ,, ,, 100 ,, 999 (3 chiffres ) ,, ^.{9}(.+)
    4° ,, ,, 1000 ,, 9999(4 chiffres ) ,, ^.{10}(.+)
    5° ,, ,, 10000,, 99999(5 chiffres ) ,, ^.{11}(.+)
    A chaque fois 1 en plus
    Et à la fin vous fusionnez les parties trouvées.
    Il y’a peut être d’autres solutions rapides.
    N’oubliez pas \1



  323. dria a dit :
  324. Bonjour Sefou
    Quant à votre question,à mon avis,vous fractionnez vos lignes en plusieurs parties.
    1°partie ordre 1 à ordre 9 (1 chiffre) Avec ^.{7}(.+)
    2°partie ordre 10 à ordre 99 (2 chiffres ) Avec ^.{8}(.+)
    3° partie ordre 100 à ordre 999 (3 chiffres ) Avec ^.{9}(.+)
    4° partie ordre 1000 à ordre 9999(4 chiffres ) Avec ^.{10}(.+)
    5° partie ordre 10000 à ordre 99999(5 chiffres ) Avec ^.{11}(.+)
    A chaque fois 1 en plus
    Et à la fin vous fusionnez les parties trouvées.N’oubliez pas \1

    Il y’a peut être d’autres solutions rapides.

    par exemple avec un tableur (Excel)
    A+



  325. Sefou a dit :
  326. Merci en effet avec cette méthode un peut longue j’ai réussi. Mais si vous avez des méthode plus rapide n’hésitez pas à en faire profiter tout le monde.



  327. Pierre 69 a dit :
  328. Bonjour Sefou,
    Mon “Bonjour pourquoi pas” auri du s’écrire “Bonjour Sefou, pourquoi pas :”
    Cette méthode me semble beaucoup plus rapide :
    Rech. : “.* (Ordre n.*)” // la recherche se fait pas le début de la ligne
    ou Rech. : “.*(Ordre n.*)$” // la recherche se fait depuis la fin de la ligne
    Rempl. “\1″
    c’est tout, on n’a pas à se préoccuper des nombres
    Bonne expérimentation



  329. Pierre 69 a dit :
  330. Re,
    Je ne peux pas corriger le msg 166
    Rech. : “.* (Ordre n.*)” // la recherche se fait par le début de la ligne
    ou Rech. : “.*(Ordre n.*)$” // la recherche se fait depuis la fin de la ligne
    Rempl. “\1″



  331. dria a dit :
  332. sous Excel 7 par exemple,cliquez sur données puis sur à partir du texte pour importer le fichier.
    Cocher délimité et cliquez sur suivant puis cocher espace et cliquez sur terminer pour importer le fichier puis cliquez sur
    OK.
    Supprimez les colonnes A et B et il vous reste ce que vous cherchez pour les copier et les exporter dans un fichier.



  333. Florrie a dit :
  334. 2 Obituary Notification System - This is one of the receiving line at a picturesque lake in Wisconsin or mobile web design in Wisconsin or video taping the ceremony. You telling us that Elaine’s wildflowers and grasses boyfriend, old man? Interment followed in Summerfield Cemetery, Summerfield, OK. It was the last Jewish home in Brooklyn, NY are wildflowers and grasses associated generally to make all of your life.



  335. Geronimo a dit :
  336. Bonjour
    Cette demande est destinée aux balèzes des conversions via notepad++ Mon fichier est de ce genre là :

    ALBERWEILER, BAGGERSEE
    #bw_places

    Type: N/A
    Year 2013: Compliant to guide values / Excellent

    <![CDATA[

    Id
    R18460004408426047

    Latitude
    48.165

    Longitude
    9.7676

    Country
    GERMANY

    Region
    BADEN-WÜRTTEMBERG

    Province
    KREIS BIBERACH

    Commune
    SCHEMMERHOFEN

    Bathing water
    ALBERWEILER, BAGGERSEE

    Type
    N/A

    Year 2000
    Compliant to guide values / Excellent

    Year 2001
    Compliant to guide values / Excellent

    Year 2002
    Compliant to guide values / Excellent

    Year 2003
    Compliant to guide values / Excellent

    Year 2004
    Compliant to guide values / Excellent

    Year 2005
    Compliant to guide values / Excellent

    Year 2006
    Compliant to mandatory values / Good or Sufficient

    Year 2007
    Compliant to guide values / Excellent

    Year 2008
    Compliant to guide values / Excellent

    Year 2009
    Compliant to mandatory values / Good or Sufficient

    Year 2010
    Compliant to guide values / Excellent

    Year 2011
    Compliant to guide values / Excellent

    Year 2012
    Compliant to guide values / Excellent

    Year 2013
    Compliant to guide values / Excellent

    ]]>

    9.7676,48.165

    ALFDORF, EISENBACHSEE
    #bw_places

    Type: N/A
    Year 2013: Compliant to guide values / Excellent

    <![CDATA[

    Id
    R18160000108119001

    Latitude
    48.8525

    Longitude
    9.6744

    Country
    GERMANY

    Region
    BADEN-WÜRTTEMBERG

    Province
    REMS-MURR-KREIS

    Commune
    ALFDORF

    Bathing water
    ALFDORF, EISENBACHSEE

    Type
    N/A

    Year 2000
    Compliant to guide values / Excellent

    Year 2001
    Compliant to mandatory values / Good or Sufficient

    Year 2002
    Compliant to mandatory values / Good or Sufficient

    Year 2003
    Compliant to guide values / Excellent

    Year 2004
    Compliant to guide values / Excellent

    Year 2005
    Compliant to guide values / Excellent

    Year 2006
    Not compliant with mandatory values / Poor

    Year 2007
    Compliant to guide values / Excellent

    Year 2008
    Compliant to guide values / Excellent

    Year 2009
    Compliant to guide values / Excellent

    Year 2010
    Compliant to guide values / Excellent

    Year 2011
    Compliant to guide values / Excellent

    Year 2012
    Compliant to guide values / Excellent

    Year 2013
    Compliant to guide values / Excellent

    ]]>

    9.6744,48.8525

    De tout ça, j’ai besoin de garder ces 2 lignes, avec ce format, avec un ,0 supplémentaire, dans coordinates :

    ALBERWEILER, BAGGERSEE9.7676,48.165,0
    ALFDORF, EISENBACHSEE9.6744,48.8525,0

    Si quelqu’un a des connaissances poussées.
    Bon courage…
    :o)



  337. Geronimo a dit :
  338. Le texte a (normalement) des balises, genre qui disparaissent après avoir posté ma demande…. donc, c’est mort..



  339. jeanviet a dit :
  340. salut Geronimo, copie-colle un lien pastebin dans les commentaires si tu veux qu’un expert notepad++ puisse voir ton code complet. tout code HTML est nettoyé dans mes commentaires.



  341. Geronimo a dit :
  342. Bonjour

    Message aux pro du Notepad++
    J’ai un fichier plein de balises, dont voici le lien, que je voudrais modifier :

    http://pastebin.com/uwBb5K8N

    Si un expert Notepad++ voulait bien jeter un oeil.
    Attention, c’est costaud. Dans la version modifiée, dans ‘coordinates’, regardez bien, il me faut ,0 chose qui n’est pas dans le ‘coordinates’ du fichier original.

    Merci au courageux
    Vous pouvez m’écrire en direct sur :
    f-m-r-3-8-0*g-m-a-i-l.c-o-m



Laisser un commentaire


 
 
 

  

  




© Jean-Baptiste Viet: Chef de Projet Internet, Webmaster de Jeanviet.info, Créateur de Tuto Video, et Ancien Etudiant à Paris 1 Sorbonne | Design : Emilie Boudet