Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Extraire une chaîne de caractère à partir d'une autre
3 participants
Page 1 sur 1
Extraire une chaîne de caractère à partir d'une autre
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
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
Excel ou SAS
Excusez moi, j'ai oublié de signaler que je dois extraires ces chaines soit sous Excel soit sous SAS
Merci d'avance
Merci d'avance
minoucha- Nombre de messages : 9
Date d'inscription : 29/10/2010
Re: Extraire une chaîne de caractère à partir d'une autre
dommage j'avais la solution en R.
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Ok pour R
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?
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
Re: Extraire une chaîne de caractère à partir d'une autre
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
Nik
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
Nik
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Extraire une chaîne de caractère à partir d'une autre
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- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Ok droopy mais....
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
merci en tout cas ça servira toujours
minoucha- Nombre de messages : 9
Date d'inscription : 29/10/2010
Re: Extraire une chaîne de caractère à partir d'une autre
???
Je ne maitrise pas les expressions régulières (je soupçonnerais même Droopy de taper n'importe quoi sur son clavier parfois ) 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
Je ne maitrise pas les expressions régulières (je soupçonnerais même Droopy de taper n'importe quoi sur son clavier parfois ) 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 : 1606
Date d'inscription : 23/05/2008
Re: Extraire une chaîne de caractère à partir d'une autre
Pff jaloux.Nik a écrit:je soupçonnerais même Droopy de taper n'importe quoi sur son clavier parfois
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- Nombre de messages : 1156
Date d'inscription : 04/09/2009
ok mais fallait taper les noms dans le code??
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é!!!!!
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é!!!!!
minoucha- Nombre de messages : 9
Date d'inscription : 29/10/2010
Re: Extraire une chaîne de caractère à partir d'une autre
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"
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: Extraire une chaîne de caractère à partir d'une autre
pour préciser un peu si je comprends bien ton interrogation et comme tu ne connais pas R :
quand droopy te donne ça :
voilà,
Hope this help
quand droopy te donne ça :
- Code:
gsub("(^.+\\s)(\\d+)((?:\\s).+$)","\\2",x,perl=T)
"50000" "51520" "49300"
voilà,
Hope this help
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Extraire une chaîne de caractère à partir d'une autre
Ah ok merci Nik pour cette précision
minoucha- Nombre de messages : 9
Date d'inscription : 29/10/2010
Sujets similaires
» Caractére quantitatif ou qualitatif
» caractère qualitatif ou quantatif
» Lubridate - Extraire heure et minute
» PCA {FactoMineR}: extraire combinaisons linéaires?
» Découper une chaine de caractères
» caractère qualitatif ou quantatif
» Lubridate - Extraire heure et minute
» PCA {FactoMineR}: extraire combinaisons linéaires?
» Découper une chaine de caractères
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum