STRCASE

Changer la casse

Pour la petite histoire en typographie la casse était un casier où l'on rangeait les caractères en plomb qui servaient aux presses d'imprimerie.

Depuis le langage a évolué et la casse exprime la différence faite entre capitale (ou majuscule) et minuscule dans un texte.

Cette fonction transforme donc la casse d'une chaîne de caractères (string), pour la convertir en majuscules ou suivant l'option choisie la mettre en minuscules.

Si la chaîne donnée en argument contient des chiffres ces derniers sont considérés comme des caractères alphabétiques et restent inchangés mais perdent leur caractéristique numérique, autrement dit on ne peux plus faire des opérations arithmétique dans leur nouvel état de caractères (string).

Syntaxe (strcase chaîne [option])
arguments chaîne, une chaîne de caractères (string)
option,
facultatif
si option est spécifié à T :
tous les caractères alphabétiques de la chaîne de caractères (string) seront transformés en minuscules.
Valeur renvoyée la chaîne de caractères (string) transformée.

Exemples :

Syntaxe Valeur renvoyée
(strcase "Ceci Est Un Exemple")
­"CECI EST UN EXEMPLE"
(strcase "Ceci Est Un Exemple" T)
"ceci est un exemple"
(strcase "à é ù")
"A E U"
(strcase "ELECTRICITE" T)
"electricite"
(strcase "électricité")
"ELECTRICITE"
(strcase "Électricité")
"ELECTRICITE"
(strcase "Électricité" T)
"électricité"
(strcase "code postal 22999")
"CODE POSTAL 22999"
 parenthèses_01

Attention aux caractères accentués, déjà que les majuscules accentuées font débat dans la langue française, l'origine américaine du logiciel ignore complètement cette notion d'accents.
Voir ce qui suit pour y remédier.



XSTRCASE

Au sujet des accents il y a tout de même deux alternatives :

La première est d'utiliser la fonction (xstrcase) :

Cette fonction tient compte des accents mais ne sait que passer de minuscules vers majuscules, étrangement l'inverse ne fonctionne pas  et il va falloir ruser :
En fait il manque l'argument optionnel T ou nil de la fonction (strcase).

(setq var "àéèùâ")
Variable à traiter (minuscules)
(xstrcase var)
Renvoie "ÀÉÈÙÂ"
(setq var "ÀÉÈÙÂ")
Variable à traiter (majuscules)
(xstrcase var)
Renvoie "ÀÉÈÙÂ" (pas de changement)

Alors pour revenir de lettre majuscules accentuées à des minuscules accentuées elles aussi on va ruser en reprenant la fonction de base (strcase)

(setq var "ÀÉÈÙÂ")
Variable à traiter (majuscules)
(strcase var T)
Renvoie "àéèùâ"

La deuxième alternative est d'utiliser la commande TCASE des ExpressTools mais depuis l'interface graphique d'AutoCAD.

Haut de page

revenir au menu CHAINES DE CARACTÈRES


26 mai 2017,
mis à jour le 17 novembre 2019