Fr:Trucs pour la recherche et le remplacement

From NeoWiki

Revision as of 09:40, 4 December 2007 by Jgd (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

OpenOffice.org, donc NeoOffice aussi, utilise pour la fonction Chercher-et-Remplacer une syntaxe quelque peu alambiquée. Cette page,espérons le, démystifiera quelques-unes des commandes usuelles.

  • Aide de NeoOffice : Rechercher remplacer; texte ou expressions régulières; liste ou expressions régulières; rechercher (guide) dans l'aide de NeoOffice pour plus de détails
  • NeoOffice User Guide : C'est une adaptation pour NeoOffice du guide "OpenOffice.org 2.x Guide", rédigée par aussie149, jgd et d'autres membres de la communauté NeoOffice. Le lien est un lien direct vers le téléchargement du guide complet (18 Mo). Les chapitres individuels, en format odt, peuvent être téléchargés ici. Le chapitre 2 contient des informations sur la fonction Rechercher et Remplacer et sur l'utilisation des expressions régulières.
  • Forums deTrinity sur le sujet : [1], [2], [3], [4]
  • La macro Find & Replace de Iannz : http://homepages.paradise.net.nz/hillview/OOo/IannzFindReplace.sxw
  • La section Find & Replace du "User Guide pdf" (7.8 Mo) d'OpenOffice.org 2.x contient des informations utiles sur la fonction "Rechercher et Remplacer".
  • La section Find and Replace du "Migration Guide pdf" (2.3 Mo) d'OpenOffice.org 2.x contient aussi un diagramme utile comparant la fonction "Rechercher et Remplacer" dans Microsoft Office et OpenOffice.org.

Contents

[edit] Expressions régulières

  • Rechercher et remplacer les caractères de formatage (ainsi que certaines chaines de caractères), comme les retours chariot (fins de paragraphe), les tabulations etc. ne peut se faire qu'en utilisant les expressions régulières. Vous ne pouvez pas coller ces caractères dans les champs de recherche et de remplacement.
  • Cliquez sur Autres options dans la fenêtre de dialogue Rechercher et remplacer et cochez la case Expressions régulières, puis entrez les codes requis. Ils sont donnés dans l'aide en ligne, mais les explications ne sont pas très claires.

N.B Toutes les expressions régulières sont indiquées entre guillemets. Ces guillemets ne doivent pas être entrés dans les champs de recherche et de remplacement.

[edit] Caractères non imprimables

  • Retours à la ligne
  • Recherche des retours à la ligne : entrez "\n" dans le champ de recherche.
Si "\n" est entré dans le champ de remplacement, il signifie saut de paragraphe.
  • Remplacer un retour à la ligne par un saut de paragraphe : entrez "\n" dans le champ de recherche et dans le champ de remplacement.
  • Sauts (ou fins) de paragraphe
  • Recherche des sauts de paragraphe : entrez "$" dans le champ de recherche, mais "$^$" ne trouve pas les paragraphes vides adjacents - ne retourne aucune occurrence. Si vous entrez texte quelconque$ vous obtiendrez les occurrences de texte quelconque à la fin des lignes, sans sélectionner le caractère de fin de ligne lui-même.
  • Supprimer les paragraphes vides :entrez "^$" dans le champ de recherche et laisser vide le champ de remplacement.
  • Il n'y a pas de moyen de remplacer deux retours chariot ; la macro Find & Replace de Iannz fait cela.
  • yoxi propose la macro suivante utile pour reformater un texte dans lequel chaque ligne se termine par un retour chariot (retrouver les paragraphes corrects d'un texte ) :
    sub reWrap rem -------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem -------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem -------------------------------------------------- rem dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, Array()) rem -------------------------------------------------- dim searchArgs(18) as new com.sun.star.beans.PropertyValue searchArgs(0).Name = "SearchItem.StyleFamily" searchArgs(0).Value = 2 searchArgs(1).Name = "SearchItem.CellType" searchArgs(1).Value = 0 searchArgs(2).Name = "SearchItem.RowDirection" searchArgs(2).Value = true searchArgs(3).Name = "SearchItem.AllTables" searchArgs(3).Value = false searchArgs(4).Name = "SearchItem.Backward" searchArgs(4).Value = false searchArgs(5).Name = "SearchItem.Pattern" searchArgs(5).Value = false searchArgs(6).Name = "SearchItem.Content" searchArgs(6).Value = false searchArgs(7).Name = "SearchItem.AsianOptions" searchArgs(7).Value = false searchArgs(8).Name = "SearchItem.AlgorithmType" searchArgs(8).Value = 1 searchArgs(9).Name = "SearchItem.SearchFlags" searchArgs(9).Value = 65536 searchArgs(10).Name = "SearchItem.SearchString" searchArgs(11).Name = "SearchItem.ReplaceString" searchArgs(12).Name = "SearchItem.Locale" searchArgs(12).Value = 255 searchArgs(13).Name = "SearchItem.ChangedChars" searchArgs(13).Value = 2 searchArgs(14).Name = "SearchItem.DeletedChars" searchArgs(14).Value = 2 searchArgs(15).Name = "SearchItem.InsertedChars" searchArgs(15).Value = 2 searchArgs(16).Name = "SearchItem.TransliterateFlags" searchArgs(16).Value = 1280 searchArgs(17).Name = "SearchItem.Command" searchArgs(17).Value = 3 searchArgs(18).Name = "Quiet" searchArgs(18).Value = true searchArgs(10).Value = "$" searchArgs(11).Value = "±" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, searchArgs()) searchArgs(10).Value = "±±" searchArgs(11).Value = "$" dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, searchArgs()) searchArgs(10).Value = "±" searchArgs(11).Value = " " dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, searchArgs()) end sub
    (voir ce sujet dans trinity). Pour plus d'information sur la façon d'enregistrer ce code comme macro, consultez Enregistrer du code comme Macro
  • Débuts de ligne
  • Recherche des débuts de lignes ou de paragraphes, entrez "^." dans le champ de recherche.
  • Espaces
  • Recherche des espaces : entrez une espace (avec la barre d'espacement) dans le champ de recherche (cela ne nécessite pas l'utilisation des expressions régulières). Trouve les espaces uniques et multiples.
  • Remplacer les espaces multiples par une seule (il faut utiliser les expressions régulières) : entrez " +" (espace suivie du signe +) ou bien " *" (espace suivie du signe *), ou bien "[:space:]+" ou encore "[:space:]*" dans le champ de recherche et entrez " " (une espace) dans le champ de remplacement.
  • Supprimer les espaces en fin de ligne : entrez " +$" (espace suivie d'un signe + et d'un $) dans le champ de recherche et laissez vide le champ de remplacement.
  • Tabulations
  • Recherche des tabulations : entrez "\t" dans le champ de recherche. L'expression \t fonctionne aussi dans le champ de remplacement.
  • Pour insérer une tabulation au début des lignes , entrez "^." dans le champ de recherche et "\t&" dans le champ de remplacement.
  • Insérer une tabulation au début de chaque paragraphe, entrez "$" dans le champ de recherche et "\n\ t" dans le champ de remplacement.

[edit] Caractères spéciaux

  • Le point ".".
  • Ce caractère signifie un caractère quelconque, à l'exception d'une fin de ligne ou de paragraphe.
  • Le caractère "'&"'.
  • Ce caractère signifie "la chaine de caractères qui a été trouvée avec les critères de recherche utilisés". Par exemple, entrez "test" dans le champ de recherche, et "nouveau &" dans le champ de remplacement. La chaine "test" est remplacée par "nouveau test" dans le document.
  • Si vous voulez introduire le signe "&" dans le texte, vous devez le faire précéder d'un antislash : "\".
Par exemple, si vous voulez remplacer "Jean & Jacques" par "Pierre & Paul", vous devez entrer "Jean & Jacques" dans le champ de recherche et "Pierre \& Paul" dans le champ de remplacement.
  • Les quantifieurs "*", "+", et "?".
  • Le caractère "*" cherche zéro, une ou plusieurs occurences du caractère qui le précède. Exemples :

"ab*c" trouve "ac", "abc", "abbc", etc.

  • Le caractère "+" cherche une ou plusieurs occurences du caractère qui le précède.

"ab+c" trouve "abc", "abbc", etc.

  • Le caractère "?" cherche zéro ou une occurence du caractère qui le précède.

"ab?c" trouve "ac" et "abc", mais pas "abbc".

[edit] Modifier le style de toutes les occurences d'une chaine de mots

  • Mettre en italique toutes les occurences d'une chaine de mots : entrez le mot dans le champ de recherche puis dans le champ de remplacement. Cliquez sur Format dans Autres options et réglez la police et le style, en l'occurrence Italique.
  • Cliquez sur Remplacer tout.

[edit] Parenthèses, etc.

  • Recherche des expressions entre parenthèses, y compris les parenthèses : on peut entrer "\([a-z 0-9]*\)"

Il y a un problème avec les lettres accentuées et les ligatures comme "æ" ou "œ", il faut entrer "\([a-zàâéèêîôùûçæœ 0-9]*\)". Une meilleure méthode consiste à entrer "\([^\)]+\)" dans le champ de recherche. Cette expression signifie : une parenthèse ouvrante suivie d'un ou plusieurs caractères, à l'exception d'une parenthèse fermante, suivis d'une parenthèse fermante.

  • Pour trouver les chaines entre accolades ou entre crochets, utilisez la même méthode :

entrer "\{[^\}]+\}" ou "\[[^\]]+\]" dans dans le champ de recherche.

  • Mettre une expression entre parenthèses en italique en laissant les parenthèses en style normal :
  • Rechercher les expressions entre parenthèses, comme ci-dessus.
  • Pressez les touches Cmd-I.
  • Cliquez sur Rechercher tout.
  • Entrez "\(" dans le champ de recherche, cliquer sur Format dans Autres options. Choisir la police et le style Italique.
  • Entrez "(" dans le champ de remplacement, en spécifiant la police et le style Non italique.
  • Cliquez sur Remplacer tout.
  • Faites de même avec la parenthèse fermante.

[edit] Autre Exemple de Recherche

De amayze:

Je me suis récemment plaint dans cette discussion du fait que les expressions régulières dans NeoOffice signifient parfois deux choses différentes selon le lieu où vous les utilisez, cependant ceci [dans un fichier Word .doc, les "fins de paragraphes" sont en fait représentées dans le fichier par des fins de lignes à l'intérieur d'un gigantesque paragraphe (#$*&!@ Word...), ainsi il n'est pas étonnant que vous vous retrouviez avec une unique énorme masse de texte après avoir essayé de retirer les paragraphes vides] montre exactement le cas où c'est utile.

Menu Édition -> Rechercher & remplacer.

  1. Cliquez sur "Autres options..." et cochez la case "Expressions régulières"
  2. Recherchez "\n" – qui trouvera les fins de lignes dans votre document - et remplacez le par "\n" qui insérera des fins de paragraphes à la place.
  3. Ensuite changez le terme à rechercher en "^$" et le terme de remplacement par "" (rien) et vous pourrez supprimer tous les paragraphes vides de votre texte..

J'espère que cela peut aider .[5]

[edit] Comportement des flèches à la fin de la barre de défilement verticale

La barre de défilement verticale se termine par trois petites icônes qui sont, de haut en bas : deux petits triangles noirs pointant vers le haut, une petite boule bleue et deux petits triangles noirs pointant vers le bas. Normalement les icônes avec les paires de triangles sont utilisées pour aller vers Page suivante et vers Page précédente
Lorsque vous utilisez la fonction Rechercher et remplacer les deux icônes changent de signification (et de couleur) : elles deviennent bleues et signifient Continuer la recherche vers le haut pour les triangles pointant vers le haut et Continuer la recherche vers le bas pour les triangles pointant vers le bas.
Pour revenir au comportement normal de ces icônes, vous devez cliquer sur l'icône représentant la petite boule bleue ; cela ouvrira une fenêtre appelée Navigation et là vous devrez cliquer sur l'icône Page.


Cet article dans d'autres langues : English Italiano Español
Personal tools