Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

espaces, retours chariot, tab…

1 view
Skip to first unread message

Gérald Niel

unread,
Aug 27, 2022, 1:37:06 PM8/27/22
to
Bonjour,

j'ai un trou de mémoire, la syntaxe pour traiter les espaces,
tabultations ou retour chariot ?

C'est pour supprimer dans des fichiers gpx les séquence </trk><trk>
Où il peut y avoir des espaces ou tabulations avant les balises et un
retour chariot entre les deux.

Merci.
--
On ne le dira jamais assez, l'anarchisme, c'est l'ordre sans le
gouvernement ; c'est la paix sans la violence. C'est le contraire
précisément de tout ce qu'on lui reproche, soit par ignorance, soit
par mauvaise foi. -+- Hem Day -+-

Olivier Miakinen

unread,
Sep 7, 2022, 4:37:29 PM9/7/22
to
Bonjour,

Désolé de ne pas avoir répondu plus tôt, j'étais loin d'usenet pendant
deux semaines.

Le 27/08/2022 19:37, Gérald Niel a écrit :
>
> j'ai un trou de mémoire, la syntaxe pour traiter les espaces,
> tabultations ou retour chariot ?

Une possibilité est bien sûr de mettre dans une classe de caractères
tous les caractères blancs que tu veux, par exemple [ \t\r\n].

Sinon, il existe aussi la séquence spéciale \s, mais attention celle-ci
dépendra de la locale utilisée.

> C'est pour supprimer dans des fichiers gpx les séquence </trk><trk>
> Où il peut y avoir des espaces ou tabulations avant les balises et un
> retour chariot entre les deux.

Si c'est pour une utilisation manuelle dans un éditeur de texte, l'un
et l'autre se valent. Si c'est pour traiter automatiquement des données
venant de l'extérieur; il faudra possiblement être plus prudent.

Cordialement
--
Olivier Miakinen

Marc SCHAEFER

unread,
Sep 8, 2022, 2:06:07 AM9/8/22
to
Olivier Miakinen <om+...@miakinen.net> wrote:
> Une possibilité est bien sûr de mettre dans une classe de caractères
> tous les caractères blancs que tu veux, par exemple [ \t\r\n].

Et il ne faut pas oublier que certains langages, comme Perl, peuvent
traiter les chaînes de caractères sous forme ligne ou multiligne (cf les
modificateurs /m ou /s documentés dans man perlre, sous Modifiers).

POSIX définit aussi -- et c'est supporté en Perl -- des classes
comme [:space:], voir man perlrecharclass).

Et la plupart du temps, les outils de Perl sont disponibles -- au moins
en partie -- dans la bibliothèque PCRE utilisée par de nombreux
langages.

> Sinon, il existe aussi la séquence spéciale \s, mais attention celle-ci
> dépendra de la locale utilisée.

Ah, la locale, oui ça peut bien compliquer les choses. Peut-être même
commencer par fixer une normalisation (NFC) p.ex.

Jo Engo

unread,
Sep 15, 2022, 2:28:54 PM9/15/22
to
Le Wed, 7 Sep 2022 22:37:28 +0200, Olivier Miakinen a écrit :

> [ \t\r\n]

J'ai rêvé ou \b caste toutes les espaces que ce soit <tab>< ><RC> etc. ?



--
Je cherche les solutions pour le RUBBI'CUB.
-+- sanzph in GPJ : Passage du Rubbi'con -+-

Olivier Miakinen

unread,
Sep 15, 2022, 6:09:18 PM9/15/22
to
Le 15/09/2022 20:28, Jo Engo a écrit :
> Le Wed, 7 Sep 2022 22:37:28 +0200, Olivier Miakinen a écrit :
>
>> [ \t\r\n]
>
> J'ai rêvé ou \b caste toutes les espaces que ce soit <tab>< ><RC> etc. ?

Peut-être dans certains dialectes de regexp, et il faudrait voir alors si cela
détecte aussi des caractères blancs exotiques tels que l'espace fine et toute
cette sorte de choses. Exactement comme le \s dans PCRE¹, quoi.

Sinon, dans PCRE, \b est une limite entre un caractère de "mot" (\w) et un
caractère qui n'est pas un caractère de "mot" (\W). Il s'agit d'une assertion,
c'est-à-dire que \b ne consomme aucun caractère.


¹ PCRE = Perl Compatible Regular Expressions.

--
Olivier Miakinen
0 new messages