Zeichenketten von txt datein auslesen

Hallo zusammen,

ich möchte gern Zeichenketten 33stellig beginnend mit DE aus txt-Dateien auslesen und Auflisten lassen.

Ich finde keinen richtigen Anfang dafür.

Ich dachte irgendwie an if „zeichenkette“ =DE??? then copy and paste…

das ganze so lang, bis keine Kette mit DE beginnend gefunden wird…

Wo scgreibe ich das Programm? Im Normalen editor und geb dem dann ne EXE Endung oder wie muss ich vor gehen?

Benutze Windows XP

Wo finde ich Unterlagen, in denen die Befehle erklärt werden?

Vielen Dank schon mal!

Jens

Hallo,

Ich finde keinen richtigen Anfang dafür.

zuerst suchst du dir eine Programmiersprache aus, in der du programmieren willst. Dann besorgst du dir ein gutes Buch dazu und den entsprechenden Compiler/Interpreter

Ich dachte irgendwie an if „zeichenkette“
=DE??? then copy and paste…

das ganze so lang, bis keine Kette mit DE beginnend gefunden
wird…

Da du Zeichenketten verarbeiten willst, empfehle ich persönlich perl (siehe http://perl.org). Dann fängst du an, die Sprache, für die du dich entschieden hast, zu lernen.

In diesem Fall ist dein Problem recht einfach, die Lösung könnte etwa so aussehen (ungetestet, ist nur als Beispiel gedacht)

#!/usr/bin/perl
use strict;
use warnings;

while (my $a = ){
 while ($a =~ /DE.{31}/){
 print $\_, $/;
 }
}

HTH,
Moritz

Hallo,

Ich finde keinen richtigen Anfang dafür.

zuerst suchst du dir eine Programmiersprache aus, in der du
programmieren willst. Dann besorgst du dir ein gutes Buch dazu
und den entsprechenden Compiler/Interpreter

Ich dachte eher an Basic, da ich das vor vielen Jahren schon mal etwas kannte.
Ich muss kuzfristig erst mal eine „Übergangslösung“ finden und dann später evtl. noch was anderes, aber wenn ich jetzt mit Perl anfange, dann kann ich die Datei auch mit Strg+F und DE eingeben und dann alle Dinger, die so anfangen mit Strg+C und Strg+V in Excel einfügen.

Ich dachte irgendwie an if „zeichenkette“
=DE??? then copy and paste…

das ganze so lang, bis keine Kette mit DE beginnend gefunden
wird…

Da du Zeichenketten verarbeiten willst, empfehle ich
persönlich perl (siehe http://perl.org). Dann fängst du an,
die Sprache, für die du dich entschieden hast, zu lernen.

Würde ich gern, hab leider momentan viele andere Sachen zu tun :frowning:

In diesem Fall ist dein Problem recht einfach, die Lösung
könnte etwa so aussehen (ungetestet, ist nur als Beispiel
gedacht)

#!/usr/bin/perl
use strict;
use warnings;

while (my $a = ){
while ($a =~ /DE.{31}/){
print $_, $/;
}
}

sieht toll aus und ich bin auch sicher, dass es funktionert, aber ich habe das kleine Problem jetzt gerade und kann nicht Pearl lernen dafür. Aber trotzdem vielen Dank!
Vielleicht fällt dir ja noch was ein in Richtung Basic.
In Excel habe ich heut ja schon was in VBA geschrieben.

Ich könnte die txt doch auch in Word öffnen und da nen Makro schreiben, was meinst du??

HTH,

???

Moritz

ciao,jens

ich möchte gern Zeichenketten 33stellig beginnend mit DE aus
txt-Dateien auslesen und Auflisten lassen.

Hi Jens,
da du excel-vba kennst:
ungetestet:

sub xyz()
close
open "c:\blablabla\abc.txt for input as #1
while not eof(1)
 input #1, Satz
 if Satz like "DE\*" then
 zeile=zeile+1
 cells(zeile,1)=Satz
 end if
wend
close
end sub

Gruß
Reinhard
wenn deine Excel-Versuion „alt“ ist geht wahrscheinlich like nicht, dann musst du mit if left(Satz,2)=„DE“ arbeiten.

Hallo zusammen,

ich möchte gern Zeichenketten 33stellig beginnend mit DE aus
txt-Dateien auslesen und Auflisten lassen.

Kein Problem.

Ich finde keinen richtigen Anfang dafür.
Ich dachte irgendwie an if „zeichenkette“
=DE??? then copy and paste…

fast. Ws ist das entscheidente Kriterium. Das „DE“ am
Anfang oder die 33 Stellen? Gibt es auch andere DE mit
nicht 33 Stellen? Was soll mit denen passieren?
Geht im .txt-File der DE-Eintrag immer am Zeilenanfang
los? Steht dann nochwas auf der Zeile, das Du nicht brauchst?

Für die simpelste Variante löst:

 C\Temp\> ffind /V /T"DE," \*.txt \>\> de-info.txt

Dein ganzes Problem.
(und alles ist in dieser Datei „de-info.txt“ gelandet.)

das ganze so lang, bis keine Kette mit DE beginnend gefunden
wird…

s. o.

Wo scgreibe ich das Programm? Im Normalen editor und geb dem
dann ne EXE Endung oder wie muss ich vor gehen?

In normalem Editor - Endung: .BAT

Benutze Windows XP

OK, Lade und Installiere dies: http://www.shareup.com/4NT-download-22251.html

Das ersetzt Deine WinXP-Konsole mit
etwas brauchbarem.

Wo finde ich Unterlagen, in denen die Befehle erklärt werden?

Dann gibst Du ein:

C:> help ffind

Grüße

CMБ

Hi Jens,
da du excel-vba kennst

aber nur ganz wenig…
was mir schon weiterhelfen würde, wäre eine Zusammenstellung der VBA Befehle mit ein wenig Erklärung dazu. Die windowshilfe gibt es zwar, aber ich kann oft nichts anfangen damit.
Vielleicht doch noch mal in die VHS gehen…

ungetestet

sub xyz()
close
open "c:\blablabla\abc.txt for input as #1
while not eof(1)
input #1, Satz
if Satz like „DE*“ then
zeile=zeile+1
cells(zeile,1)=Satz
end if
wend
close
end sub

Gruß
Reinhard
wenn deine Excel-Versuion „alt“ ist geht wahrscheinlich like
nicht, dann musst du mit if left(Satz,2)=„DE“ arbeiten.

Danke, ich werd das dann gleich mal testen!

Wo scgreibe ich das Programm? Im Normalen editor und geb dem
dann ne EXE Endung oder wie muss ich vor gehen?

Benutze Windows XP

Wo finde ich Unterlagen, in denen die Befehle erklärt werden?

Hi Jens,
wenn du Dos-Befehle meinst, so schreibst du die mit normalem Editor und vergibst die Endung .bat.
Auf jeder Win-98 CD findest du in \win98\dos o.ä. die Dateien help.com und help.hlp. Kopiere die beiden auf deinen Rechner und rufe die help.com auf. Dort sind alle Befehle erläutert, so wie sie für Win 98 gelten.
Ich habe kein Win XP sondern Win 2000. Bei Win2000 wurden einige der Befehle geändert (Parameter) oder es gibt sie nicht mehr u.ä. Ich mutmaße bei WinXP wird es ähnlich sein.
In Win 2000 sind in der Hilfe die Änderungen erläutert.
In der anderen Antwort, es heißt nicht ffind sondern find.
Gruß
Reinhard

Hallo!

Hallo zusammen,

ich möchte gern Zeichenketten 33stellig beginnend mit DE aus
txt-Dateien auslesen und Auflisten lassen.

Kein Problem.

Ich finde keinen richtigen Anfang dafür.
Ich dachte irgendwie an if „zeichenkette“
=DE??? then copy and paste…

fast. Ws ist das entscheidente Kriterium. Das „DE“ am
Anfang oder die 33 Stellen? Gibt es auch andere DE mit
nicht 33 Stellen? Was soll mit denen passieren?
Geht im .txt-File der DE-Eintrag immer am Zeilenanfang
los? Steht dann nochwas auf der Zeile, das Du nicht brauchst?

Die Zeichenkette beginnt immer mit DE und danach folgen immer 31 Zeichen.
Die txt Datei besteht aus einer Zeile ohne Leerzeichen (auch hinter der DE-Zeichenkette nicht,die dann teilweise 1MB groß ist.
Die Zeichenkette mit DE ist ein Identifikator für dahinter (in der Zeile) stehende Daten.

Ich muss diesen Identifikator mit denen in unserer Datenbank vergleichen, daher brauch ich diese Liste mit den DE´s

Für die simpelste Variante löst:

C\Temp> ffind /V
/T"DE," *.txt >> de-info.txt

Dein ganzes Problem.
(und alles ist in dieser Datei „de-info.txt“ gelandet.)

das ganze so lang, bis keine Kette mit DE beginnend gefunden
wird…

s. o.

Wo scgreibe ich das Programm? Im Normalen editor und geb dem
dann ne EXE Endung oder wie muss ich vor gehen?

In normalem Editor - Endung: .BAT

ok, das werde ich dann auch mal ausprobieren.

Benutze Windows XP

OK, Lade und Installiere dies:
http://www.shareup.com/4NT-download-22251.html

das werde ich vielleicht privat mal probieren. Nich das mir die IT aufs Dach steigt.

Das ersetzt Deine WinXP-Konsole mit
etwas brauchbarem.

Wo finde ich Unterlagen, in denen die Befehle erklärt werden?

Dann gibst Du ein:

C:> help ffind

Grüße

CMБ

Grüße zurück!

Jens

da du excel-vba kennst

aber nur ganz wenig…

Hallo Jens,
schau mal hier, da sind Links zu Online vba Erläuterungen/Kursen: http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…
Gruß
Reinhard

Hallo Jens,

ich habe mal „quick and dirty“ ein QBASIC-Programm genommen (SUCHE.BAS) und an Dein Problem angepasst (Ist per Mail unterwegs).

Kannst Du Das mal ausprobieren?

Gruß,

Christoph