SUBSTR

SUBSTR


Renvoie une partie
d'une chaîne de caractères

Substr comme SUBSTRting, c'est à dire une sous-chaîne ou encore une partie de la chaîne de caractères (string).

Syntaxe (substr chaîne départ [longueur])
Arguments chaîne
Une chaîne de caractères (string)
départ

Un nombre entier spécifiant le point de départ de la recherche longueur :
Optionnel, un nombre entier spécifiant le nombre de caractères à extraire.
Si longueur n'est pas spécifié, c'est tout le reste de la chaîne
(derrière départ qui est renvoyé).
Valeur renvoyée la sous-liste (list)

 

Dans cette fonction le premier caractère de la chaîne est numéro 1 (un), à la différence de (nth) ou (ssame) qui prennent 0 (zéro) comme premier élément.

Exemples :

Syntaxe Valeur renvoyée Commentaire
 (setq exemple "123456789")
 définition de la variable exemple
 (substr exemple 2)
"23456789" Le reste de la chaîne depuis le deuxième caractère
(substr exemple 3 4)
"3456" Les quatre caractères à partir du troisième

Exemple d'application :
Mémoriser le nom du fichier courant sans son extension :

 

 

1
2
3
(setq nomdwg (getvar 'dwgname))
(setq lonnomdwg (strlen nomdwg))
(setq nomdwgcourt ( substr nomdwg 1 ( - lonnomdwg 4)))

Explications :

(setq nomdwg (getvar 'dwgname))

Renvoie le nom complet du fichier (avec l'extension .dwg)

(setq lonnomdwg (strlen nomdwg))

Renvoie : Le nombre de caractères que contient ce nom (sous forme de chaine de caractères (string)

(setq nomdwgcourt (substr nomdwg 1 ( - lonnomdwg 4)))

Renvoie : Le nom du fichier tronqué des quatre derniers caractères ". dwg".


Ce qui peut s'écrire plus "élégamment" (car il faut de la fierté dans ce qu'on fait !) :

1
2
3
4
5
6
7
8
9
10
11
12
(setq nomdwgcourt 
     (substr
          (getvar 'dwgname)
          1
          (-
             (strlen
                (getvar 'dwgname)
             )
           4
         )
      )
)

 

 


Haut de page

revenir au menu CHAINES DE CARACTÈRES


26 mai 2017