Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 28/04/2015 dans toutes les zones

  1. Slt, Rapidement pour le principe une solution parmi d'autres, en s'appuyant sur la routine gc:str2lst de (gile), une routine très confortable d'utilisation lorsqu'il s'agit de "briser" des chaînes de caractères en fonction de caractères identifiables. La routine: ;; gc:str2lst ;; Transforme un chaine avec séparateur en liste de chaines ;; ;; Arguments ;; str : la chaîne ;; sep : le séparateur (defun gc:str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (gc:str2lst (substr str (+ (strlen sep) pos 1)) sep)) (list str) ) ) L'application à ton cas: ;; Chaîne de texte de départ (setq txt "(0.80) Zs=52.78") ; "(0.80) Zs=52.78" ;; Séparation de la chaîne de caractères en une liste de 2 chaînes (setq txt (gc:str2lst txt " ")) ; ("(0.80)" "Zs=52.78") ;; prf = Supression du 1er et dernier caractère de la 1ère chaîne de caractères (setq prf (substr (car txt) 2 (- (strlen (car txt)) 2))) ; "0.80" ;; ZGs = Séparation de la seconde chaîne de caractères, en gardant le 2ème élèment (setq ZGs (cadr (gc:str2lst (cadr txt) "="))); "52.78" Edit: Réponse rapide mais visiblement pas assez, BonusCAD est en grande forme à ce que je vois :)
    1 point
  2. Bonjour, Pour la manipulation des chaines, regarde: strlen et substr en mode vanilla lisp Autrement tu as aussi les fonctions vl-string-**** qui peuvent simplifier les choses.
    1 point
×
×
  • 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é