BiS_DelSpaceR

Fonction Catégorie Version
BIS 09 BiS_DelSpaceR Gestion de Chaînes 1.0 - Janvier 2007

Description

But Suppression des espaces à la fin d'une chaîne.
Prototype (BiS_DelSpaceR Texte_Cible )
Argument Texte_Cible - Le texte à modifier - chaîne -
Retours La chaîne modifiée
Var. globales Néant
Description Supprime tous les blancs (ou espaces) qui pourraient se trouver à droite d'une chaîne de texte.
Notes Si l'argument n'est pas une chaîne, celui-ci est retourné sans changement.
Pour supprimer les blancs à gauche, utilisez la fonction BiS_DelSpaceL ;
Pour supprimer les blancs à droite et à gauche, utilisez la fonction BiS_DelSpace.
Exemples

Commande: (BiS_DelSpaceR "   Fiche BiS 08  ")
	retourne  "   Fiche BiS 08"

Commande: (setq T1 "       Texte avec blancs   ")
	"       Texte avec blancs   "
Commande: (BiS_DelSpaceR T1)
	retourne  "       Texte avec blancs"
Commande: (BiS_DelSpaceR "   ")	retourne 	""
Commande: (BiS_DelSpaceR bb)	retourne 	nil

Commande: (setq Nb1 1.23456)
Commande: (BiS_DelSpaceR Nb1)
	retourne  1.23456

Commande: (setq L1 '(20 "  texte  "))
Commande: (BiS_DelSpaceR L1)
	retourne  (20 "  texte  ") 
   (L1 est une liste et non pas une chaîne - 
   La liste est retournée telle quelle, les éléments à 
   l'intérieur de la liste n'étant pas considérés.) 
 

La fonction


  1-  (defun BiS_DelSpaceR (*Text)

  2-    (if (= (type *Text) 'STR)
  3-        (progn
  4-           (while (and
  5-		     	     (> (strlen *Text) 0)
  6-		     		 (= (substr *Text (strlen *Text) 1) " ")
  7-                  )
  8-		        (setq *Text (substr *Text 1 (1- (strlen *Text))))
  9-           )
 10-        )
 12-    )
 13-    *Text
 14-  ) 


Ligne 2 : Vérifie si l'argument est une chaîne,  et si oui,
Ligne 4 :   Répète tant que
Ligne 5 :    - L'argument *Text est plus grand que zéro (au cas ou la chaîne serait vide)
Ligne 6 :    - Le dernier caractère de *Text est un espace (ou blanc),	     
Ligne 8 :   Soustrait le dernier caractère de *Text
Ligne 13 :  Retourne  la chaîne modifiée ou non (si ce n'est pas une chaîne)


Type : Renvoie le type de l'élément spécifié (*Text)
While : Evalue une expression test (ici, les 2 lignes suivantes), et si elle est vraie, évalue d'autres expressions (ici, la ligne 8) ; répète le processus.
Strlen : Renvoie le nombre de caractères présents dans la chaîne *Text (nombre entier).
Substr : Ligne 6 : extrait de la chaîne *Text le dernier caractère (chaîne de longueur 1 caractère commençant au caractère numéro longueur_de_la_chaîne)
Ligne 8 : extrait de la chaîne *Text la chaîne démarrant au 1er caractère et de longueur égale à la longueur de *Text moins 1.