Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

remplacement de caractères dans OpenOffice

34 réponses
Avatar
yapu
dans le cadre de mes bricolages de fichiers, il m'arrive souvent d'avoir
besoin de remplacer un certain caractère par un autre sur tout un
fichier. Généralement, cela implique un marqueur de tabulation ou de
paragraphe.

je n'ai pas trouvé comment faire dans neoOffice ni dans OpenOffice...
donc je continue à passer par ce bon vieil Appleworks, qui fonctionne
toujours aussi bien sous 10.5.8...
bon, en fait c'est surtout le paragraphe qui me gene (pour tab, c'est
\t, mais \p ne fonctionne pas)

bien sur, je pourrais utiliser TextWrangler, voire le terminal... mais
j'aime bien utiliser le moins d'outils possible.

Personne n'a trouvé comment faire dans OO ?



mais personne

--
Philippe Manet
en fait, c'est manet avant @

10 réponses

1 2 3 4
Avatar
blanc
SAM wrote:

Ça m'a tout l'air d'être encore un de ces bugs oubliés

il faut d'abord passer en [Options] -> Expressions régulières
et, théoriquement, se servir de n pour le p d'AW
(ce qui est un peu normal pour les expressions régulières)

sauf que ... ça marche pô

normal ! l'aide, à la rubrique :
« Liste des expressions régulières »
nous dit que ça ne cherche que les retours forcés



C'est-à-dire les fins de paragraphe

rien ni trouvé pour les retours "normaux"



Normal : ce sont des retours ajoutés par OOo pour plier les lignes trop
longues. On ne peut les remplacer, car il ne correspondent pas vraiment
à un caractère.

à la limite on peut éliminer les paragraphes vides
en cherchant : ^$



On peut aussi remplacer toutes les fins de § par une chaine improbable :
$ ---> ###
puis ensuite remplacer la dite chaine par autre chose suivi d'une fin de
§ :
### ---> machinn

mébon ... ce n'est pas que là que l'aide n'aide pas
(ou que l'appli ne réagit pas comme son mode d'emploi le prévoit)

ainsi on a :
[abc123] Recherche l'un des caractères mis entre parenthèses.

ben ! non ! pas entre parenthèses ! mais entre crochets !



Mauvaise traduction sans doute

En RegExp les parenthèses servent à d'autres choses
dont certaines utilisées ici (enfin ... si ça marche cette fois !?)

M'enfin ... ces RegExp là sont bien pôvres
pas de d D w W s etc.



Ces choses là font parties d'un certain type de RegExp étendues (il y en
a plusieurs types, et ce n'est pas vraiment normalisé). Par contre je
pense que toutes les fonctions des RegExp de bases sont bien présentes.


--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
SAM
Le 5/20/10 9:09 AM, JiPaul a écrit :
SAM wrote:

si ça fonctionne pour trouver un §
ça ne fonctionne pas pour [remplacer tout] par n
enfin ... pas chez moi ...
un peu comme si OOo remplaçait les § déjà remplacés
jusqu'à ce qu'il capitule (vers les 60 000) après avoir usé longuement
la totalité du CPU



Léger bug en effet. Si tu demandes à remplacer $ par n ou ^$ par n
il doit faire le remplacement, mais faire un mauvais calcul pour
déplacer sa position derrière le remplacement et donc retrouver une
nouvelle fois une fin de § et ainsi de suite, boucle sans fin.

Maintenant est-ce bien le remplacement que tu as cherché à faire ? et
pourquoi ? (car perso je n'en vois pas l'intérêt).



aucun intêret, toutafé, mais ...
d'autre(s) soft(s) ne s'en émeuvent pas et se contentent des 3 ou 4
remplacements réels

je lui ai aussi demandé $ remplacé partout par --
et l'a mouliné tout pareil



Non je pense que là, il faisait le travail (j'ai testé, chez moi ça
marche), mais que 60000 remplacements c'est long...



Heu ... BBE fait 40 000 remplacements instantanément (1 s)
ha! pour 1 500 000 là ça commence à être longuet,
du genre de OOo pour 30 000

il a déclaré forfait (j'ai dû le killer)



... et c'est toi qui a déclaré forfait et qui l'a tué.
Il fallait attendre plus longtemps.



Oui, bon, ben, non, inacceptable.

quand je lui ai demandé --- remplacé partout par -
dans le texte qui n'était plus que 30 000 fois le tiret



Pareil. Ça marche chez moi (mais avec 30000, c'est long)



d'autres s'en sortent
BBE avec 50 700 000 tirets (en utf-8 = 50Mo)
12aine de - remplacés par - (2 700 000 remplacés -> 30 s)
puis -{100} remplacé par - (27 000 remplacés -> instantané)

Mais il est vrai que BBE ne s'occupe que de texte brut,
sans sur-couche de mise(s) en forme.

Quant à AW,
qui ne s'occupe pas de RegExp mais aussi de mise en forme,
moins de 10 secondes pour 250 000 remplacements

--
sm
Avatar
SAM
Le 5/20/10 9:09 AM, JiPaul a écrit :
SAM wrote:

(un panneau un peu incompréhensible avec boutons oui non annuler)



Si, si, il est très clair ce panneau ;-)

<< La fonction d'annulation doit être désactivée, sans quoi il sera
impossible d'effectuer cette opération. Voulez-vous désactiver la
fonction d'annulation ? Oui Non Annuler >>

Il te prévient qu'il ne peut continuer l'opération en cours sans
supprimer "la fonction d'annulation", c'est-à-dire la possibilité
d'annuler (par pomme-Z)



Ha? c'est ça ?
Ben ... jamais rencontré ce truc dans mes softs
(et j'en ai qui ont des annulations jusqu'à je ne sais combien de fois)

Sans doute un problème de mémoire :



à voir comment il ne ménage pas le CPU ...
pas très étonnant s'il ne sature pas aussi sa mémoire.

Les bonnes réponses sont :
"Non" : je ne veux pas désactiver la fonction d'annulation. Je m'arrête
là.
ou "Annuler" : je ne veux pas effectuer l'opération
(sauf qu'apparemment les résultats sont inversés : c'est dans le
deuxième cas qu'il conserve ce qui a déjà été fait).



Ha! Ha! Donc, pas si clair ;-)

(j'ai dû cliquer le bon : il s'est arrêté là)



Ouf !



certes !

La troisième réponse possible "Oui", est celle qu'il ne faut surtout pas
faire : Il désactive la fonction d'annulation, et il continue de
remplacer (apparemment sans fin cette fois-ci - j'ai du killer).



tu es bien certain d'avoir attendu assez longtemps ?
;-)

--
sm
Avatar
SAM
Le 5/20/10 9:19 AM, JiPaul a écrit :
SAM wrote:

il faut d'abord passer en [Options] -> Expressions régulières
et, théoriquement, se servir de n pour le p d'AW
(ce qui est un peu normal pour les expressions régulières)

sauf que ... ça marche pô

normal ! l'aide, à la rubrique :
« Liste des expressions régulières »
nous dit que ça ne cherche que les retours forcés



C'est-à-dire les fins de paragraphe



Attends !
Tu me dis que pour faire une fin de paragraphe
il faut faire maj+return ?
les returns simples que sont-ils alors ?

Je pensais que ce maj+return était l'équivalent
de option+return dans AW
qui y est un retour forcé (au sein d'un paragraphe)

Je ne connais pas bien OOo, ne l'ouvrant que pour lire ce qui me
parvient du monde obscur (et me le sauver en PDF).
La moindre modification que j'y tente (ne serait-ce que pour la mise en
page (marges, tout ça) pour sortie pdf) me prend un temps fou.

M'enfin ... ces RegExp là sont bien pôvres
pas de d D w W s etc.



Ces choses là font parties d'un certain type de RegExp étendues (il y en
a plusieurs types, et ce n'est pas vraiment normalisé). Par contre je
pense que toutes les fonctions des RegExp de bases sont bien présentes.



Je n'ai rien compris à leurs [:trucmuche:]
un peu essayé, sans doute à mauvais escient, car ... pas de résultat
alors que les d w ... existent pour ces fantaisies

pas de (?=x) et autres repères avant, après.
(enfin, d'après l'aide, à voir si des fois ... ?)

--
sm
Avatar
blanc
SAM wrote:

Ha? c'est ça ?
Ben ... jamais rencontré ce truc dans mes softs
(et j'en ai qui ont des annulations jusqu'à je ne sais combien de fois)



Ben, s'il a été prévu un nombre limité N d'octets pour une annulation,
s'il lui faut n octets pour garder la trace d'un remplacement, et si
n * 60000 est supérieur à N alors c'est normal (et c'est une bonne chose
que ça ait été prévu) d'avoir un dialogue de confirmation pour éviter un
débordement de la zone :-)


> La troisième réponse possible "Oui", est celle qu'il ne faut surtout pas
> faire : Il désactive la fonction d'annulation, et il continue de
> remplacer (apparemment sans fin cette fois-ci - j'ai du killer).

tu es bien certain d'avoir attendu assez longtemps ?
;-)



Là, je reconnais que non ;-)

--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
blanc
SAM wrote:

aucun intêret, toutafé, mais ...
d'autre(s) soft(s) ne s'en émeuvent pas et se contentent des 3 ou 4
remplacements réels



Ah, mais attention, je n'ai pas cherché à excuser le soft (et ces
concepteurs). Jeste cherché une explication :-)

>> je lui ai aussi demandé $ remplacé partout par --
>> et l'a mouliné tout pareil
>
> Non je pense que là, il faisait le travail (j'ai testé, chez moi ça
> marche), mais que 60000 remplacements c'est long...

Heu ... BBE fait 40 000 remplacements instantanément (1 s)
ha! pour 1 500 000 là ça commence à être longuet,
du genre de OOo pour 30 000



Comme tu le dis plus bas, OOo n'est pas un simple éditeur de texte, mais
un traitement de texte, gérant aussi la mise en forme. Donc ça ne
peut-être que plus compliqué et plus long. En outre, il n'y a pas que le
remplacement à faire, mais aussi la recherche. Et dans le cas de regexp,
ça peut être très long.


>> il a déclaré forfait (j'ai dû le killer)
>
> ... et c'est toi qui a déclaré forfait et qui l'a tué.
> Il fallait attendre plus longtemps.

Oui, bon, ben, non, inacceptable.



?
Avec tous logiciels, tu trouveras un nombre d'opérations à partir du
quel le temps mis en oeuvre te parraitras inacceptable. Ceci étant, je
reconnais qu'un signal de patience devrait être émis dans ce cas.

>> quand je lui ai demandé --- remplacé partout par -
>> dans le texte qui n'était plus que 30 000 fois le tiret
>
> Pareil. Ça marche chez moi (mais avec 30000, c'est long)

d'autres s'en sortent
BBE avec 50 700 000 tirets (en utf-8 = 50Mo)
12aine de - remplacés par - (2 700 000 remplacés -> 30 s)
puis -{100} remplacé par - (27 000 remplacés -> instantané)

Mais il est vrai que BBE ne s'occupe que de texte brut,
sans sur-couche de mise(s) en forme.



Voilà.


Quant à AW,
qui ne s'occupe pas de RegExp mais aussi de mise en forme,
moins de 10 secondes pour 250 000 remplacements



Pas de regexp, donc moins de temps. :-)

Ceci étant je le répète, je ne cherche pas à excuser les concepteurs
d'OOo, même s'il faut reconnaître qu'ils ont fait un sacré boulot !...
--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
blanc
SAM wrote:

Attends !
Tu me dis que pour faire une fin de paragraphe
il faut faire maj+return ?
les returns simples que sont-ils alors ?

Je pensais que ce maj+return était l'équivalent
de option+return dans AW
qui y est un retour forcé (au sein d'un paragraphe)



Ah OK. Je n'avais pas compris ce que tu entendais par retour forcé.


>> M'enfin ... ces RegExp là sont bien pôvres
>> pas de d D w W s etc.
>
> Ces choses là font parties d'un certain type de RegExp étendues (il y en
> a plusieurs types, et ce n'est pas vraiment normalisé). Par contre je
> pense que toutes les fonctions des RegExp de bases sont bien présentes.

Je n'ai rien compris à leurs [:trucmuche:]



C'est aussi du regexp étendues. Un autre type d'extension.

un peu essayé, sans doute à mauvais escient, car ... pas de résultat



Ben si elles y sont dans OOo. Je viens de tester sur un texte dans
lequel figurent des nombres, le motif
[:digit:]*
qui permet de les chercher, fonctionne parfaitement.

alors que les d w ... existent pour ces fantaisies



C'est ces fonctions qui sont une fantaisie.
En effet, après recherche, ces d, w font parties d'une extension non
posix, alors que les [:truc:] font parties de l'extension Posix.
Pour plus de détails :
<http://fr.wikipedia.org/wiki/Expression_rationnelle>

ainsi que :

man re_syntax

Tu y verras que outre les regexp de base (BRE) et les regexp étendues
norme posix (ERE) il existe d'autres types d'extensions non posix, et
que celle dont tu parles (d, w) sont utilisées dans le langage python
(entre autres ?).

En ce qui concerne OOo, pas le temps de vérifier, mais je pense que ERE
est implanté.

--
JiPaul.
/ /--/--// Jean-Paul Blanc
|/| L | quelquepart en (somewhere in)
/|| = ||| FRANCE
Avatar
sebastienmarty
JiPaul wrote:

SAM wrote:

> Ha? c'est ça ?
> Ben ... jamais rencontré ce truc dans mes softs
> (et j'en ai qui ont des annulations jusqu'à je ne sais combien de fois)

Ben, s'il a été prévu un nombre limité N d'octets pour une annulation,
s'il lui faut n octets pour garder la trace d'un remplacement, et si
n * 60000 est supérieur à N alors c'est normal (et c'est une bonne chose
que ça ait été prévu) d'avoir un dialogue de confirmation pour éviter un
débordement de la zone :-)



Ne me dis pas que les applications fonctionnent encore en 2010 comme du
temps de Mac OS <X ! Je croyais naïvement qu'on pouvait gérer la mémoire
de manière dynamique, de nos jours...

Enfin en tout cas, si c'est le cas, ça confirme tout ce que je pense de
OOo.

--
[SbM]
<http://sebastienmarty.free.fr> - <http://tradintosh.free.fr>
<http://sbm.ordinotheque.free.fr> - <http://palmiciel.free.fr>
"If the French were really intelligent, they'd speak English" (W. Sheed)
Avatar
pdorange
SbM wrote:

> > Ha? c'est ça ?
> > Ben ... jamais rencontré ce truc dans mes softs
> > (et j'en ai qui ont des annulations jusqu'à je ne sais combien de fois)
>
> Ben, s'il a été prévu un nombre limité N d'octets pour une annulation,
> s'il lui faut n octets pour garder la trace d'un remplacement, et si
> n * 60000 est supérieur à N alors c'est normal (et c'est une bonne chose
> que ça ait été prévu) d'avoir un dialogue de confirmation pour éviter un
> débordement de la zone :-)

Ne me dis pas que les applications fonctionnent encore en 2010 comme du
temps de Mac OS <X ! Je croyais naïvement qu'on pouvait gérer la mémoire
de manière dynamique, de nos jours...



Bien sur que la mémmoire est géré dynamiquement. Mais en m^me si
certaines fonctions ont un potentiel de gourmandise très fort (ça me
semble être le cas ici) il est du devoir des développeurs de prévoir des
limites, des gardes-fous... Sinon tu finis par (dans certains cas) faire
tomber le système ou du moins en abaisser tellement les performances que
l'utilisateur le voit comme planté...
Je dis pas que c'est le cas spécifique ici, faudrait voir le code, mais
c'est potentiellement le cas.
Dans OOO dans les prefs ont trouve des réglages pour fixer le nomdre
maxi d'historique (50 par défaut) ou la taille des caches graphiques.
Faut bien fixer des limites a un moment donné, car si la gestion est
bien dynamique, la RAM elle a des limites physiques (RAM ou même swap
ensuite).

Enfin en tout cas, si c'est le cas, ça confirme tout ce que je pense de
OOo.



Apparement pas du bien ;-)

--
Pierre-Alain Dorange <http://microwar.sourceforge.net/>

Ce message est sous licence Creative Commons "by-nc-sa-2.0"
<http://creativecommons.org/licenses/by-nc-sa/2.0/fr/>
Avatar
Paul Gaborit
À (at) Thu, 20 May 2010 00:14:23 +0200,
Pierre Pallier écrivait (wrote):

Hello, Philippe Manet a écrit dans
<news:1jirj5o.t58y8gm1wszmN%

dans le cadre de mes bricolages de fichiers, il m'arrive souvent d'avoir
besoin de remplacer un certain caractère par un autre sur tout un
fichier. Généralement, cela implique un marqueur de tabulation ou de
paragraphe.

je n'ai pas trouvé comment faire dans neoOffice ni dans OpenOffice...



Ici : <http://bdp.ge.ch/sem/support/viewtopic.php?t2>
Testé, ça fonctionne en cochant "Expression régulière" et en mettant juste $
pour chercher une marque de paragraphe.



Un petit bug sympa de OOo:
- choisir un remplacement par expression regulière,
- demander à remplacer $ (une fin de paragraphe) par nn (deux fins de
paragraphes).

Si on applique cela à un document sans paragraphe vide, ça fonctionne
(sauf pour le tout dernier paragraphe). Dès que OOo atteint un
paragraphe vide, il boucle indéfiniment...

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
1 2 3 4