Chaîne de caractères

Fermé
selver057 Messages postés 25 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 17 avril 2017 - 30 janv. 2012 à 20:30
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 - 18 févr. 2012 à 11:24
Bonjour,

J'ai les différentes chaînes de caractères suivantes :

str1 = "vendredi 13 Janvier 2012 à 16:45:50 -0800 (PST)"
str2 = "De: mnat.legrand@yahoo.fr"
str3 = "A: fab.pierre@gmail.com, gg.giraud@hotmail.fr, vcas@yahoo.com
              fifi.perrec@yahoo.fr"
str4 = "Objet: Re: Invitation pour anniversaire"
str5 = "Objet: 2- Enquête/Information E-Mail 5-14- 01"


J'aimerai, avec le langage de programmation python, construire des motifs me permettant d'extraire les sous-chaînes suivantes :

de str1 extraire : "16:45:50"
de str2 extraire : "mnat", "legrand", "yahoo.fr"
de str3 extraire : IDEM que pour str2
de str4 extraire : "Invitation pour anniversaire"
de str5 extraire : IDEM que pour str4

Pouvez-vous m'aider, s'il vous plaît. D'avance je vous remercie pour vos suggestions.




A voir également:

4 réponses

leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
30 janv. 2012 à 21:31
je peux t'aider avec la langage java en utilisant subString(S,i)... je sais pas si ça la même en python
0
selver057 Messages postés 25 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 17 avril 2017
31 janv. 2012 à 20:58
Malheureusement c'est python que j'utilise et je pense que les méthodes/instructions Java ne marcheront pas. Si jamais tu connais quelqu'un sur ce forum qui est susceptible de me renseigner, s'il te plaît communique lui mon message. Je te remercie d'avance ;)
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
31 janv. 2012 à 21:27
je veux poser la question si quelqu'un sais la langue python
0
selver057 Messages postés 25 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 17 avril 2017
1 févr. 2012 à 22:00
Merci beaucoup pour ton aide, j'ai vraiment besoin de ces informations ;)
0
malaik5 Messages postés 258 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 33
Modifié par malaik5 le 1/02/2012 à 08:18
Bonjour,
Voici un exemple rapide sur l'utilisation de ce que tu cherche, je l'ai testé et ça marche,
si tu trouve le moindre problème revient me voir

Aller bon courage et bon code :)
0
selver057 Messages postés 25 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 17 avril 2017
1 févr. 2012 à 22:08
Bonjour, et merci de ta réponse mais je ne vois pas très bien le rapport entre le langage de programmation python et l'application aller que tu me proposes de télécharger et qui d'après ce que j'ai lu est destiné à faciliter l'apprentissage du français aux jeunes enfants ;)
0
malaik5 Messages postés 258 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 33
3 févr. 2012 à 11:20
Je ne sais pas si tu parle sérieusement ou tu joue au con, en tous cas je n'ai pas de temps pour réponde à ce genre de remarque débile
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
3 févr. 2012 à 12:15
du calme malaik5, c'est toi qui a fait une petite bourde.
relit ton message :
1- il n'y a pas d'exemple contrairement à ce que tu dit
2- tu tapes "Aller" et ce mot est un lien, probablement mit automatiquement par CCM, qui renvoie vers un logiciel.
Au final ton message est bancale et la réaction de selver est plutôt naturelle. DE plus, il n'a pas été agressif, lui.
0
malaik5 Messages postés 258 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 33
8 févr. 2012 à 11:02
Bonjour,
Oui c'est vrai que je me suis trompé, je voulais mettre un bout texte que j'ai oublié de copier et je voulais tous simplement utiliser le mot aller pas faire un lien vers un logiciel
du coup tiens le morceau de code :

myString="Hello there !bob@"
mySubString=myString[myString.find("!")+1:myString.find("@")]
print (mySubString)
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
2 févr. 2012 à 11:57
l'idéal c'est alors d'utiliser les expressions régulière.
Par exemple pour le premier str1, c'est un truc du genre [:num:][:num:]:[:num:][:num:]:[:num:][:num:]
pour plus de détails sur les regex : https://docs.python.org/3/howto/regex.html
ensuite, str2, c'est une adresse mail, le regex d'une adresse mail, c'est [:alnum:._-]+@[:alnum:._-]+ c'est dire des caractères alphanumérique plus le point, le souligné le tiret (peut être d'autre) à au moins un exemplaire de chaque coté d'un '@'. Une fois le(s) courriel(s) extrait, il suffit de faire des split avec @ et . comme séparateurs.
Pour les deux derniers, je pense que tu trouvera.

J'ai écrit les expressions régulière à la manière de GREP, mais il doit y avoir l'équivalent dans le lien. Sinon, cherche un peu.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
2 févr. 2012 à 12:12
j'ai trouvé, l'équivalent de :num: c'est \d, donc :
re.match(\d\d:\d\d:\d\d,str1)
devrait donné ce que tu cherches.
pour le courriel, ça doit être :
re.match('[\w\.\-]+@[\w\.\-]+',str2)
0
selver057 Messages postés 25 Date d'inscription mardi 13 septembre 2011 Statut Membre Dernière intervention 17 avril 2017
3 févr. 2012 à 13:05
Effectivement ça marche : avec ce que tu m'as donné j'arrive à récupérer l'heure d'une part et d'autre part je récupère l'ensemble du mail de str2, à savoir, mnat.legrand@yahoo.fr. Tout fonctionne comme un seul bloc et si je tente d'isoler les éléments pour obtenir par ex seulement mnat, cela ne fonctionne plus. Je dois peut être mal m'y prendre, tu aurais des idées toi?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
3 févr. 2012 à 14:04
salut.
met ce que tu as écris (en réponse, pas en commentaire, ça sera plus clair), je regarderai. Je connais peu les expressions régulières en python, ça semble assez pénible d'obtenir une sous chaine de caractère.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
3 févr. 2012 à 14:46
re.findall('[\w\.\-]+@[\w\.\-]+',str2)
0
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
18 févr. 2012 à 11:24
dans str1 la regex est : #([0-9]{2}:[0-9]{2}:[0-9]{2})#
0