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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Jacques Rétorré
Le #26373137
lun. 19 oct. 2015, 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 à L ibreOffice :

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 e ntre
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.
Sébastien Kirche
Le #26373136
Le 19 octobre 2015 à 14:27, Escargot vraute :

Bonjour,



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.



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
Jean-Jacques Rétorré
Le #26373135
lun. 19 oct. 2015, Sébastien Kirche
Le 19 octobre 2015 à 14:27, Escargot vraute :

Bonjour,



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.



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)



Je crains que ça ne marche pas si la chaîne à virer est sur plusieurs lignes.


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'effect uer tous
les remplacements restants en une fois sans confirmation supllémenta ire.

HTH,



--
JJ R.
Sébastien Kirche
Le #26373154
Le 19 octobre 2015 à 22:31, Jean-Jacques Rétorré vraute :

> M-x query-replace-regexp RET
>
> motif à rechercher: (sdnum|sdval)=".*"
> à remplacer par "" (chaine vide)

Je crains que ça ne marche pas si la chaîne à virer est sur plusieurs
lignes.



Effectivement, je n'avait pas testé/pensé ce cas en absence de fichier
d'exemple.

--
Sébastien Kirche
Lucas Levrel
Le #26373256
Le 19 octobre 2015, Jean-Jacques Rétorré a écrit :

La regerxp :

b(sdnum|sdval)="[^"]*"



Que signifie le b ?

matche toutes les expressions
que tu veux éliminer (chais plus comment on dit en français).



Dire regexp ou match ? Regexp : expression rationnelle, si jeune m'abuse.
Match : trouve (pour ta phrase) ? Sinon, correspond à ?

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Jean-Jacques Rétorré
Le #26373267
mar. 20 oct. 2015, Lucas Levrel
Le 19 octobre 2015, Jean-Jacques Rétorré a écrit :

La regerxp :

b(sdnum|sdval)="[^"]*"



Que signifie le b ?



,----[ (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.


matche toutes les expressions
que tu veux éliminer (chais plus comment on dit en français).



Dire regexp ou match ? Regexp : expression rationnelle, si jeune
m'abuse. Match : trouve (pour ta phrase) ? Sinon, correspond à ?



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.
Benoit Izac
Le #26373425
Bonjour,

Le 20/10/2015 à 23:20, Jean-Jacques Rétorré a écrit dans le message

matche toutes les expressions
que tu veux éliminer (chais plus comment on dit en français).



Dire regexp ou match ? Regexp : expression rationnelle, si jeune
m'abuse. Match : trouve (pour ta phrase) ? Sinon, correspond à ?



Regexp, ça je sais, mais le sens de match me paraît assez éloigné 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.



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
Lucas Levrel
Le #26373442
Le 20 octobre 2015, Jean-Jacques Rétorré a écrit :

mar. 20 oct. 2015, Lucas Levrel
Le 19 octobre 2015, Jean-Jacques Rétorré a écrit :

La regerxp :

b(sdnum|sdval)="[^"]*"



Que signifie le b ?



,----[ (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 regardless of
| what text appears next to it.
`----



Merci. Question subsidiaire : comment obtient-on cette entrée d'info ?

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Sébastien Kirche
Le #26373444
Le 21 octobre 2015 ¨¤ 20:54, Lucas Levrel a tapot¨¦ :

> > Que signifie le b ?
>
> ,----[ (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 regardle ss of
> > what text appears next to it.
> `----

Merci. Question subsidiaire : comment obtient-on cette entr¨¦e d'info ?



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
Jean-Jacques Rétorré
Le #26373447
mer. 21 oct. 2015, Lucas Levrel
Le 20 octobre 2015, Jean-Jacques Rétorré a écrit :

mar. 20 oct. 2015, Lucas Levrel
Le 19 octobre 2015, Jean-Jacques Rétorré a écrit :

La regerxp :

b(sdnum|sdval)="[^"]*"



Que signifie le b ?



,----[ (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 ‘bal l’ or ‘balls’ as a
| separate word.
|
| ‘b’ matches at the beginning or end of the buffe r regardless of
| what text appears next to it.
`----



Merci. Question subsidiaire : comment obtient-on cette entrée d'info ?



É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.
Publicité
Poster une réponse
Anonyme