| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: nummerischenteil aus String filtern (1048 mal gelesen)
|
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 19. Mai. 2005 23:56 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe einen String z.B. "OKR:123.45 m HN" nun möchte ich zur Zahl eine Konstante addieren muß also den String in 3 Teile zerlegen 1.Teil nicht nummerischer Teil vor der Zahl "OKR:" 2.Teil nummerischer Teil "123.45" 3.Teil wieder nicht nummerischer Teil nach der Zahl " m HN" also 3 Variablen mit Inhalt der 3 Teile habt Ihr da eine Lösung? Servus Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 20. Mai. 2005 00:51 <-- editieren / zitieren --> Unities abgeben: Nur für m-troeger
Hallo Mario, sind sie xxx.xx immer gleich? Von Lisp ische 'aben keine Ahnüng , abere mit vba und regülar expressüones könnte es so gehen: Sub test() Const x% = 100 Dim s$, re As New RegExp s = "OKR:123.45 m HN" re.Global = True re.Pattern = ".*?(\d\d\d\.\d\d).*" Debug.Print CDbl(re.Replace(s, "$1")) + x End Sub ;;-))) lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 20. Mai. 2005 06:43 <-- editieren / zitieren --> Unities abgeben: Nur für m-troeger
Hallo Mario, Folgende Subfunktion kannst du bei dir einbauen:
Code: (vl-load-com) ;|Zerlegt eine Zeichenkette des Formates @##.##@ in die 3 Teile und gibt diese als Liste von Zeichenketten zurück '("PREFIX" "ZAHL" "SUFFIX") Das Dezimaltrennzeichen ist mit . festgelegt Aufruf: (ZkZahlZk "OKR:123.45 m HN") Ergebnis: ("OKR:" "123.45" " m HN") |; (defun ZkZahlZk (STRING / ZahlSTR PrefixSTR SuffixSTR) ;Zahlenstring ermitteln (setq ZahlSTR (apply 'strcat (mapcar 'chr (vl-remove-if-not '(lambda (Z) (member Z (VL-STRING->LIST "0123456789.") ) ) (VL-STRING->LIST STRING) ) ) ) ) ;Zeichenkette vor Zahl ermitteln (setq PrefixSTR (substr STRING 1 (- (strlen STRING) (length (member (car (VL-STRING->LIST ZahlSTR)) (VL-STRING->LIST STRING) ) ) ) ) ) ;Zeichenkette nach Zahl ermitteln (setq SuffixSTR (substr STRING (+ (strlen ZahlSTR) (strlen PrefixSTR) 1 ) ) ) (list PrefixSTR ZahlSTR SuffixSTR) )
Bei Fragen ... Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Manager Deutschland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 20. Mai. 2005 16:00 <-- editieren / zitieren --> Unities abgeben:
@Holger na das ist ja wunderbar, ich danke Dir für deine schnelle Hilfe @Nancy auch Dir vielen Dank, die Lösung von Holger ist mir zwar lieber, werde deine Version aber mal testen, man kann ja nur schlauer werden Servus, Mario [Diese Nachricht wurde von m-troeger am 20. Mai. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 22. Jun. 2005 22:36 <-- editieren / zitieren --> Unities abgeben:
|