Nettoyage d'un fichier html
Le
Escargot

Bonjour,
J'ai convertis un fichier tableur (LibreOffice Calc) en html pour
pouvoir le lire directement avec un navigateur Web.
Ce fichier a dans ses balises des "propriétés" propres à LibreOffice :
sdnum=" [du texte] "
sdval=" [une valeur] "
Comment faire avec Emacs pour enlever toutes ces "propriétés" et rendre
ainsi le fichier html plus léger ?
Le problème (pour moi) est que le texte ou la valeur indiqués entre
guillements ne sont pas toujours les mêmes.
Merci pour vos réponses.
J.
J'ai convertis un fichier tableur (LibreOffice Calc) en html pour
pouvoir le lire directement avec un navigateur Web.
Ce fichier a dans ses balises des "propriétés" propres à LibreOffice :
sdnum=" [du texte] "
sdval=" [une valeur] "
Comment faire avec Emacs pour enlever toutes ces "propriétés" et rendre
ainsi le fichier html plus léger ?
Le problème (pour moi) est que le texte ou la valeur indiqués entre
guillements ne sont pas toujours les mêmes.
Merci pour vos réponses.
J.
La regerxp :
b(sdnum|sdval)="[^"]*"
matche toutes les expressions
que tu veux éliminer (chais plus comment on dit en français). Il suffit
de faire une recherche et remplacement par une chaîne vide.
Par exemple
C-M-% b(sdnum|sdval)="[^"]*" RET RET !
--
JJ R.
Bonjour,
Avec un petit motif de remplacement pour query-replace-regexp ?
Sur un petit jeu de données que j'ai simulé ici, un coup de C-M-S-% ou
M-x query-replace-regexp RET
motif à rechercher: (sdnum|sdval)=".*"
à remplacer par "" (chaine vide)
Si c'est susceptible de trouver du texte il sera mis en surbrillance et
Emacs se positionne sur le permier résultat en demandant une
confirmation :
- "y" pour accepter et passer au suivant
- "n" pour refuser et passer au suivant
si ça semble ok après 2 ou 3 remplacements, "!" permet d'effectuer tous
les remplacements restants en une fois sans confirmation supllémentaire.
HTH,
--
Sébastien Kirche
Je crains que ça ne marche pas si la chaîne à virer est sur plusieurs lignes.
--
JJ R.
Effectivement, je n'avait pas testé/pensé ce cas en absence de fichier
d'exemple.
--
Sébastien Kirche
Que signifie le b ?
Dire regexp ou match ? Regexp : expression rationnelle, si jeune m'abuse.
Match : trouve (pour ta phrase) ? Sinon, correspond à ?
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
,----[ (info "(emacs)Backslash in Regular Expressions") ]
| âbâ
| matches the empty string, but only at the beginning or end of a
| word. Thus, âbfoobâ matches any occurrence of â fooâ as a
| separate word. âbballs?bâ matches âball â or âballsâ as a
| separate word.
|
| âbâ matches at the beginning or end of the buffer r egardless of
| what text appears next to it.
`----
C'est pour éviter de matcher des expressions comme
totosdnum=" [du texte] "
hautement improbable, mais ça ne coûte rien de préciser.
Regexp, ça je sais, mais le sens de match me paraît assez él oigné de
trouver
D'après google-translate
,----[ M-x google-translate-at-point ]
| verb
| 1. égaler (match, equal, equate)
| 2. répondre à (answer, fulfill, fit, cater for, match, return)
| 3. harmoniser (harmonize, match, attune)
| 4. aller bien avec (match)
| 5. faire la paire (pair, match)
| 6. aller bien ensemble (match, match up)
| 7. être bien assorti (match)
| 8. être l'égal de (match, be on a par with)
| 9. s'assortir (assort, match)
| 10. s'harmoniser (harmonize, match, tone, match up)
| 11. s'identifier (match)
| 12. s'unir (unite, coalesce, match)
`----
Je dirais s'unifie, mais je pense que tous les utilisateurs des regexps
comprennent ce que veut dire match.
--
JJ R.
Le 20/10/2015 à 23:20, Jean-Jacques Rétorré a écrit dans le message
Je pense que c'est plus proche de « correspond à » comme l'avait signalé
Lucas, en tout cas ce n'est pas « unifier ».
‘b’ matches the empty string => 'b' correspond à une chaîne vide
‘b’ matches at the beginning or end => 'b' correspond au début ou à la fin
--
Benoit Izac
Merci. Question subsidiaire : comment obtient-on cette entrée d'info ?
--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Je dirais :
- C-h i pour aller dans Info
- m emacs RET pour ouvrir la partie de la doc d'Emacs
- s backslash RET pour rechercher le noeud
ou m regexp backslash RET si on connait d¨¦j¨¤ la section recher ch¨¦e
--
S¨¦bastien Kirche
Ãvaluer dans n'importe quel buffer (ou par M-: )
(info "(emacs)Backslash in Regular Expressions")
Pour parcourir le info de Emacs
(info "(emacs)") ou encore M-x info-emacs-manual
Pour apprendre à utiliser (info), évaluer
(info "(info)")
Pour parcourir les fichiers info :
M-x info RET ou C-h i
--
JJ R.