Bonjour,
J'ai un champ de caractères en majuscules dans lequel je dois supprimer les accents et les apostrophes (ex : É --> E)
Y'a-t-il une fonction spécifique/méthode pour le faire ?
Merci
Bonjour,
J'ai un champ de caractères en majuscules dans lequel je dois supprimer les accents et les apostrophes (ex : É --> E)
Y'a-t-il une fonction spécifique/méthode pour le faire ?
Merci
Une méthode un peu "bourrine" consisterai à utiliser la fonction tranwrd, sur tous les pb recencés :
Il y a sûrement des approches plus fines ou plus optimisées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 option nonotes nosource; data test ; text = "--a--" ; output ; text = "--â--" ; output ; text = "--ä--" ; output ; text = "--A--" ; output ; text = "--Â--" ; output ; text = "--É--" ; output ; text = "--'--" ; output ; text = '--"--' ; output ; run ; data test2 ; set test ; text2 = tranwrd (text , "â", "a") ; text2 = tranwrd (text2, "ä", "a") ; text2 = tranwrd (text2, "Â", "A") ; text2 = tranwrd (text2, "É", "E") ; text2 = tranwrd (text2, "'", " ") ; text2 = tranwrd (text2, '"', ' ') ; put text= @15 text2= ; run ;
Je pense notammen à la fonction prxchange du Perl Regular expressions (cf document appelé : The data step in SAS9: what's new, de Jason Secosky).
Je donnerai pas d'exemple car je maîtrise pas.
Bonjour,
Tu peux aussi utiliser "translate" en mettant toute la liste de tes caractères spéciaux en 3 ème paramètre et ceux par quoi tu veux les remplacer dans le 2ème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DATA test2 ; SET test ; text2=translate(text,"aaE ","âäÉ'"); run;
translate était la fonction que je cherchais. Bien plus adaptée.
Tranwrd est plutôt utile quand il faut modifier des mots plutôt que des caractères.
Le gros piège entre ces deux fonctions est "l'inversion" des paramètres 2 et 3.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager