Aller au contenu

Couper une chaine à partir d'un groupe de caractère


Messages recommandés

Posté(e)

Bonjour à tous.

 

Alors voila, je me doute bien que cette routine a déjà été faite des centaines de fois donc je ne prend pas la peine de la signer, pour dix lignes faut pas pousser, mais je code, je code, et je m'éparpille dans tout les sens.

 

Donc je me suis forcé à rendre ce petit bout de code présentable pour publication histoire de me recentrer sur quelquechose. Ca pourra toujours servir aux débutants, quoique personnellement je ne regarde jamais les codes que font les autres, je veut que ma production soit du 100% Aleck, mais bon, je me contente de la perfection. D'où l'éclatement.

 

Et surtout je suis suffisamment compétant pour coder mais étrangement pas encore assez pour comprendre les codes des autres, sans oublier que c'est pas comme ça qu'on apprend. Ca joue aussi pas mal.

 

Fichier LSP : routine_chn_trancheur

 

;;;-----------------------------------------------------------------------------
;;;
;;; chn_trancheur (routine)
;;; (chn_trancheur "lame" "chaine")
;;; Va tronquer "chaine" à partire de "lame" et touts les caractères qui suivent
;;; (chn_trancheur "C" "ABCD") => "AB"
;;; (chn_trancheur "34" "123 123456") => "123 12"
;;;
;;;-----------------------------------------------------------------------------

(defun chn_trancheur (lame chn)
 (setq	chn
  	(vl-string-subst
		""
		(substr
  		chn
  		(1+ (vl-string-search lame chn))
		) ;_ Fin de substr
		chn
  	) ;_ Fin de vl-string-subst
 ) ;_ Fin de setq
) ;_Fin de defun

 

 

Allez, comme ça si je le dit je suis obligé de le faire, je prévois pour ce soir de finaliser une routine un petit peut plus complexe.

 

Cordialy.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Posté(e)

Salut,

 

On peut aussi le faire avec substr.

Le setq est inutile, une fonction LISP renvoie toujours le résultat de la dernière évaluation.

 

(defun cut (pat str) 
 (substr str 1 (vl-string-search pat str))
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Ha la vache, c'est vexant...

 

Je voudrait surtout pas donner l'impression de tirer sur le messager, mais se rendre compte que j'ais passé du temps à virevolter dans tout les sens pour faire un truc cohérent alors qu'il y avait ce qu'il fallait en natif avec la même ****** de commande que j'utilise comme cœur de mon code !

 

Le bon côté des choses c'est que j'apprend... mais plus j'en sais plus je me rend compte de mon ignorance unsure.gif

 

Merci de prendre le temps pour ses broutilles.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité