Nur ein teil einer Textdatei einlesen.

falls es ev hilft. So weit wäre ich schon gekommen:

Apr 09 22:13:12 Sensor 1 C: 24.25 F: 75.65 gibt:
09 1 2425 7565

also müsste nur noch 09, 1 und 7565 weg.

Kann man irgendwie eine zahl entfernen die grösser als 3000 ist?

eigentlich müsste mit "\d{1}" ja alles zahlen mit 1 stelle entfernt werden. allerdings wird dann auch 2425 entfernt.
 
Wieso so umständlich über eine Extra DLL? Ein gutes altes InStr() genügt doch auch.

Ich nehme mal an, du weisst schon, wie man eine Textdatei zeilenweise einliest (wenn nicht meld dich, ich schreib gerade ein Tutorial dazu), dann brauchst du nur noch mittels InStr() die beiden Buchstaben davor bzw. dahinter suchen:
Visual Basic:
'Nehme mal an, die Zeile steh in der Variable sZeile
lDavor = InStr(sZeile, "C:") + 2
lDanach = InStr(lDavor, sZeile, "F:")
sgWert = Trim(Mid(sZeile, lDavor, lDanach - lDavor))
'Wenn du eine Zahl willst, wandle sgWert noch mit Val() in eine Zahl
Nix kompliziert mit Regular Expressions, einfach mit InStr() und Mid().


Der Doc!
 
Darum hab ich gesagt es muss Gruppiert werden und das bedeutet in eckige Klammern gesetzt werden!

Also es gibt nur 2 Fehlerquellen:
1. Du nutzt nicht die PCRE Perl Lib sondern eine andere Regex Komponente

2. Du verwendest das Pattern falsch

Ich glaube an einem der 2 Scheiterts.

EDIT:
Warscheinlich ist die Variante DrSoong besser!!
 
so habs jetzt mit der lösung von DrSoong fertiggebracht. Anders wärs bestimmt auch gegangen ;) aber so funktionierts jetzt :D

Vielen dank euch beiden! :)
 
Zurück