OVH Cloud OVH Cloud

sous-chaine

6 réponses
Avatar
Mihamina Rakotomandimby
Bonjour,

Je voudrais, pour des raisons propre au projet en cours, faire une
fonction qui vérifie si une chaine est une sous-chaine d'une autre.

typiquement, je voudrais savoir si

to="toto@domaine.com"

est une sous-chaine de

total_header="Mr Toto <toto@domaine.com>"

Il y a plusieurs méthodes possibles.
Comment conseillez-vous de proceder?
Supposon que ma fonction s'appelle "contains", ça m'arrangerait vraiment
d'avoir au final, une syntaxe du style:

total_header="Mr Toto <toto@domaine.com>"
if total_header.contains(to):
[...]

Rajouter une fonction aux strings, je sais pas si c'est une bonne
idée.
"contains" aurait donc cette tête:

def contains([self,], s):
import re
re_to=re.compile(".+" + s + ".+")
return [... un booleen ...]

Dans ce cas là, j'ai un souci avec la présence des "." dans "s", car il
faut les échapper. Et le souci, c'est:

In [1]: s="toto@toto.org"

In [2]: s.replace('.', '\.')
Out[2]: 'toto@toto\\.org'

On voit là que le "\" est automatiquement échappé, car moi je n'en veut
pas de ce double "\".
Donc cette piste est compromise par cet échappement non recherché. Est-ce
qu'il y a d'autres pistes? Comment échapper correctment mon "." (j'aurais
aussi à échapper les "-").

Merci d'avance.

6 réponses

Avatar
ftc
Bonjour,

Je voudrais, pour des raisons propre au projet en cours, faire une
fonction qui vérifie si une chaine est une sous-chaine d'une autre.

typiquement, je voudrais savoir si

to=""

est une sous-chaine de

total_header="Mr Toto "




"if to in total_header" n'est il pas suffisant ?

Avatar
Mihamina Rakotomandimby
"if to in total_header" n'est il pas suffisant ?


In [3]: t="RaTotot <" + s +">"
In [4]: t
Out[4]: 'RaTotot '
In [5]: s in t
Out[5]: True

Effectivement.
J'ai pensé regexp, parceque d'habitude c'est l'outil pour faire ça.
Merci.

Avatar
Bruno Desthuilliers
Bonjour,

Je voudrais, pour des raisons propre au projet en cours, faire une
fonction qui vérifie si une chaine est une sous-chaine d'une autre.


"oto" in "Rakotomandimby"

(snip)

Avatar
Méta-MCI
"oto" in "Rakotomandimby"




J'avais cru lire "toto" in "Raktotomandimby"
Mais, oups ! On n'est pas vendredi.

MCI



Avatar
Mihamina Rakotomandimby
On Thu, 06 Jul 2006 21:57:52 +0200, Méta-MCI wrote:

"oto" in "Rakotomandimby"
J'avais cru lire "toto" in "Raktotomandimby"



Mais, oups ! On n'est pas vendredi.


Bof avec cette saleté de football, on a tous des semaines/jours décalées.
mes collègues footeux qui posaient leurs RTT à des jours réguliers ont
tout calqué sur le foot pendant le championnat, j'en pers mon vendredi.




Avatar
Méta-MCI
Hé ben, en regardant bien, on est quand même vendredi.
Comme quoi, il faut toujours regarder deux fois les choses (au moins).

Quand au foutebol, c'est un atout, pour trouver de (bons) restau, presque
vides.

@+

MCI