Seite 1 von 1

Zahl an bestimmter Stelle aus String auslesen

Verfasst: 24.11.2011 15:26
von Clum
Moin,
(Konnte über die SuFu nichts finden)Ich suche nach einer Möglichkeit, eine Zahl aus einer längeren String-Variable auszulesen. Die Zahl selbst wechselt ihre Position innerhalb des Strings und auch ihren Wert bei jedem auslesen, sie folgt aber immer auf den gleichen String (Ohne Trennzeichen). Dafür habe ich mir Folgendes überlegt:

Code: Alles auswählen

Paste$ = GetClipboardText() ;Zwischenspeicher in String-Variable kopieren
PosString = FindString(Paste$,"String",1) ;Zahl kommt nach String, also Position des Strings auslesen...
PosString + 6 ; ...und Länge des Strings aufaddieren 
Jetzt weiß ich also wo die Zahl steht, aber:
Ich weiß nicht wie lang die Zahl ist und kann sie deshalb nicht via StringField() und einer For To - Schleife auslesen und sie kann ja genauso 1-Stellig wie 8-Stellig sein. Was tun?

Gruß
Clum

Re: Zahl an bestimmter Stelle aus String auslesen

Verfasst: 24.11.2011 16:00
von rolaf
Wozu braucht du die Länge, nim einfach Val() und schmeis ihm den String ab der gewünschten Zahl zu Frass vor. Val() wandelt nur die Zahlen um, der Reststring wird ignoriert.

Code: Alles auswählen

Debug Val(Mid("dudeldei1024102unnützebuchstaben995weiterermüll",9))
Hoffe hab dein Problem richtig verstanden?

Re: Zahl an bestimmter Stelle aus String auslesen

Verfasst: 24.11.2011 16:01
von Bisonte
Nach dieser Zahl kommt doch mit Sicherheit irgendein Zeichen (und wenn es nur ein Leerzeichen ist) um sie vom
weiteren Text zu trennen.

Dann kannste dieses Zeichen suchen (Findstring Startposition anpassen) und dann alles zwischen Start und
Ende per MID() auslesen.

Oder falls es wider Erwarten so "Hallo1234Duda" aussieht, kannst du ab der gefundenen Startposition die kommenden
Zeichen überprüfen ob es eine Zahl ist (Stichwort ASCII Code für "0" wäre 48)...

Edit : @rolaf:Es könnt ja sein dass mehr als nur eine Zahl rausgesucht werden soll...

Re: Zahl an bestimmter Stelle aus String auslesen

Verfasst: 24.11.2011 16:08
von Clum
@Bisonte Manchmal sehe ich den Wald vor lauter Bäumen nicht, danke, das ist genau was ich gesucht habe.
Danke auch an rolaf für die (in diesem Fall leider nicht funktionierende) Alternative ;)

Tante Edith: Auch die Methode von rolaf klappt, macht mir sogar weniger Arbeit, man sollte es nur rchtig machen :allright: