Les posteurs les plus actifs de la semaine


Extraire une chaîne de caractère à partir d'une autre

Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Extraire une chaîne de caractère à partir d'une autre

Message par minoucha le Ven 19 Nov 2010 - 9:43

Bonjour,

Je voudrais extraire le code postale et la ville des chaines de caractères (adresses) tout à fait différentes au niveau de la structure :

Ex 1 : Z.I. de la Chevalerie. Rue Louise Michel. 50000 SAINT-LÔ
Ex 2 : Rue des Entrepôts. 51520 ST MARTIN SUR LE PRE
Ex 3 : 6 rue Chinon. Centre d'Activités Beauregard. 49300 CHOLET

Quelqu'un pourrait-il m'aider s'il vous plaît
En vous remerciant d'avance

minoucha

Nombre de messages : 9
Date d'inscription : 29/10/2010

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Excel ou SAS

Message par minoucha le Ven 19 Nov 2010 - 9:50

Excusez moi, j'ai oublié de signaler que je dois extraires ces chaines soit sous Excel soit sous SAS

Merci d'avance

minoucha

Nombre de messages : 9
Date d'inscription : 29/10/2010

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par droopy le Ven 19 Nov 2010 - 10:05

dommage j'avais la solution en R.
droopy
droopy

Nombre de messages : 1129
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Ok pour R

Message par minoucha le Ven 19 Nov 2010 - 10:13

Bonjour droopy,

Pourquoi pas, je suis aussi prenante....bien que je ne dispose pas de R là où je suis "impossible de l'installer" mais c'est toujours bon à savoir...merci

Je vais toujours espéré s'il y a quelqu'un qui saura sous SAS ou Exel?

minoucha

Nombre de messages : 9
Date d'inscription : 29/10/2010

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par Nik le Ven 19 Nov 2010 - 10:26

Il me semble que SAS a développé un module permettant de faire du R sous SAS...

où comment un développeur de logiciels payants s'octroie tous les développements fait sous licence libre. Mais bon je dis ça je dis rien Very Happy

Nik

Nik

Nombre de messages : 1605
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par droopy le Ven 19 Nov 2010 - 10:40

sous R ça pourrait donné ça :
Code:
gsub("(^.+\\s)(\\d+)((?:\\s).+$)","\\2",x,perl=T)
"50000" "51520" "49300"
gsub("(^.+\\s)(\\d+)(?:\\s)(.+$)","\\3",x,perl=T)
[1] "SAINT-LÔ"            "ST MARTIN SUR LE PRE" "CHOLET"
droopy
droopy

Nombre de messages : 1129
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Ok droopy mais....

Message par minoucha le Ven 19 Nov 2010 - 11:15

merci droopy pour ta réponse, mais ce que je cherche c'est de programmer celà....ce que j'ai donné c'est uniquement 3 lignes de mon fichier qui fait 250 lignes...du coup je ne pourrai pas faire ainsi "car ça va me prendre plus de temps de taper les chaines de caractères" que de faire du copier coller!

merci en tout cas ça servira toujours

minoucha

Nombre de messages : 9
Date d'inscription : 29/10/2010

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par Nik le Ven 19 Nov 2010 - 11:24

???

Je ne maitrise pas les expressions régulières (je soupçonnerais même Droopy de taper n'importe quoi sur son clavier parfois Razz) mais, tu vois que ça marche quelle que soit la ligne et quel que soit leur nombre il me semble...
Donc même si tu as 250 ou 1000 lignes ça ne change rien.


Nik

Nik

Nombre de messages : 1605
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par droopy le Ven 19 Nov 2010 - 11:50

Nik a écrit:je soupçonnerais même Droopy de taper n'importe quoi sur son clavier parfois Razz
Pff jaloux.
Sinon Nik a parfaitement raison l'avantage des expressions régulières c'est que tu utilises une seule ligne pour récupérer l'info de X lignes. La seule chose que tu as à faire c'est d'importer tes adresses dans le vecteur x et ensuite tu tapes les deux lignes de commande, l'une te donne les codes postaux l'autre les villes.
droopy
droopy

Nombre de messages : 1129
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty ok mais fallait taper les noms dans le code??

Message par minoucha le Ven 19 Nov 2010 - 12:02

merci Nik et droopy,

mais ce que je ne comprend pas, c'est que dans le code que t'as tapé droopy, t'a bien tapé texto les noms de la ville et le code postal recherché????
C'est de ça dont je parle quand je dis ça me prendra plus de temps...car si je me met à taper les noms des villes et des codes que je veux, ça serait pas rapide....ou alors je crois que je n'ai rien compris au code que tu as rédigé!!!!! Sad


minoucha

Nombre de messages : 9
Date d'inscription : 29/10/2010

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par droopy le Ven 19 Nov 2010 - 12:13

je vais détailler un peu plus. Voici l'ensemble du code que j'ai utilisé :
Code:
x <- c("Z.I. de la Chevalerie. Rue Louise Michel. 50000 SAINT-LÔ", "Rue des Entrepôts. 51520 ST MARTIN SUR LE PRE","6 rue Chinon. Centre d'Activités Beauregard. 49300 CHOLET")

gsub("(^.+\\s)(\\d+)((?:\\s).+$)","\\2",x,perl=T)
"50000" "51520" "49300"

gsub("(^.+\\s)(\\d+)(?:\\s)(.+$)","\\3",x,perl=T)
[1] "SAINT-LÔ"            "ST MARTIN SUR LE PRE" "CHOLET"
Ici j'ai rentré les addresses à la main parce que j'ai pas de fichiers dans lequel elles sont stockés. Mais rien ne t'empêche d'importer tes adresses dans R, à partir d'un fichier texte, d'une base de données, d'un fichier excel ... ça ne prend qu'une ligne de code (qui remplace la ligne x <- ...).
droopy
droopy

Nombre de messages : 1129
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par Nik le Ven 19 Nov 2010 - 12:38

pour préciser un peu si je comprends bien ton interrogation et comme tu ne connais pas R :

quand droopy te donne ça :
Code:
gsub("(^.+\\s)(\\d+)((?:\\s).+$)","\\2",x,perl=T)
"50000" "51520" "49300"
en fait la première ligne correspond au code écrit par droopy et la seconde au résultat donné parle le logiciel R quand il execute le code.

voilà,

Hope this help Smile

Nik

Nombre de messages : 1605
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par minoucha le Ven 19 Nov 2010 - 17:45

Ah ok merci Nik pour cette précision

minoucha

Nombre de messages : 9
Date d'inscription : 29/10/2010

Revenir en haut Aller en bas

Extraire une chaîne de caractère à partir d'une autre Empty Re: Extraire une chaîne de caractère à partir d'une autre

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum