| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Zeichenkette an TAB aufsplitten (902 mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 08. Jun. 2012 16:09 <-- editieren / zitieren --> Unities abgeben:
Hi ! kann mir einer von Euch weiterhelfen mit eine Codeschnipsel? Wie könnte man eine Zeichenkette mit TAB's an diesen aufsplitten und das Ergebnis in ein Array aufnehmen? Gruß Jan :-) ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 08. Jun. 2012 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hallo Jan, sowas habe ich auch schon gebraucht. Anbei mal ein paar Zeilen. Code:
; Zeichenkette bis ersten TAB liefern, ggf. "" wenn Länge Null, haengende Leerzeichen entfernen (defun str_to_tab (str_input / str_output) (setq str_output (if (vl-string-position 9 str_input) (substr str_input 1 (vl-string-position 9 str_input)) str_input ) ) (while (= " " (substr str_output (max 1 (strlen str_output)))) (setq str_output (substr str_output 1 (max 1 (1- (strlen str_output))))) (if (= str_output " ") (setq str_output "")) ) (setq str_output str_output) ) ; Zeichenkette vom ersten TAB (ausschlieszlich) liefern, ggf. "" wenn keine TAB (defun str_from_tab (str_input / str_output) (setq str_output (if (vl-string-position 9 str_input) (substr str_input (+ 2 (vl-string-position 9 str_input))) "" ) )
)
HTH Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Senior Architekt (m/w/d) 80% - 100% | PASSION FOR PHARMA ENGINEERING: Dafür steht PHARMAPLAN. Als führender Engineering-Partner in Europa planen und realisieren wir für unsere industriellen Kunden integrierte und ganzheitliche pharmazeutische Produktionsanlagen und bieten zukunftssichere Lösungen. Als Teil der TTP GROUP mit über 1.100 Mitarbeitenden und 29 Standorten in 6 Ländern legen wir großen Wert auf persönliche Entwicklung durch individuelle Karriereplanung.... | Anzeige ansehen | Architektur |
|
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11
|
erstellt am: 08. Jun. 2012 18:11 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Zitat: Original erstellt von tappenbeck: Hi !kann mir einer von Euch weiterhelfen mit eine Codeschnipsel? Wie könnte man eine Zeichenkette mit TAB's an diesen aufsplitten und das Ergebnis in ein Array aufnehmen? Gruß Jan :-)
Verwende doch einfach Axels (MAPCARs) Str-Tok Funktion http://www.autolisp.mapcar.net/strtok.html[EDIT] Beispiel: Befehl: (str-tok "123\t456\t789" "\t") ("123" "456" "789") ------------------ Mit freundlichem Gruß
Udo Hübner www.CAD-Huebner.de [Diese Nachricht wurde von CAD-Huebner am 08. Jun. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |