poopie
Goto Top

Wort aus Datei herausfiltern von x bis y

Hallo,
ich würde gerne ein Wort aus einer Textdatei herausfiltern und in eine neue Datei speichern.
Die datei enthälter unter anderen folgendes
<option selected="selected">MEIN TEXT</option>
Und MEIN TEXT würde ich gerne abspeichern.

Meine Frage ist ob das machbar ist und wenn ja, wie?

Vielen Dank für's lesen. und evtl. antworten

Content-Key: 115733

Url: https://administrator.de/contentid/115733

Printed on: April 24, 2024 at 16:04 o'clock

Member: MKzero
MKzero May 11, 2009 at 08:37:10 (UTC)
Goto Top
Schon mal über RegEx nachgedacht? Damit lässt sich das recht einfach machen und wenn du damit nicht so firm bist gibts sogar Online-Generatoren ;)
Member: Cubic83
Cubic83 May 11, 2009 at 09:14:53 (UTC)
Goto Top
Du musst den Beitrag nicht jeden Tag erneut schreiben:

Wort aus Datei herausfiltern von Zeichen x bis y
Member: poopie
poopie May 11, 2009 at 09:27:07 (UTC)
Goto Top
@MKzero
Dann guck ich mal ob ich einen Online-Generator finde und probier es mal aus.

@Cubic83
Ich hatte den Beitrag schonmal im Batch Bereich gepostet.
Aber damit ist es wohl nicht mahcbar.
Also hab ich dort auch geschreiben das dort zugemacht werden kann.
Member: MKzero
MKzero May 11, 2009 at 09:32:35 (UTC)
Goto Top
Hier mal der den ich meistens verwende:

http://www.txt2re.com/

auf den ersten Blick etwas kompliziert aber ansonsten seehr nützlich
Member: poopie
poopie May 11, 2009 at 10:10:35 (UTC)
Goto Top
Ich hab mir das was zusammengebastelt, was noch nicht so recht funktionieren will.

open (FILEHANDLE,"<datei.txt");
my $string = do { local $/; <FILEHANDLE> };
my $found;
$_ = '$string';
if( /\>{1}(.*?)\<{1}/ ) { $found = $1; }
open (out,">test.txt");
print out $found;
Member: dog
dog May 11, 2009 at 11:54:07 (UTC)
Goto Top
Wenn das eine echte XML-Datei ist kannst du es aufgeben, da mit RegEx rumzubasteln.
Da steckst du ganz schnell in einer Sackgasse.
Du brauchst einen "echten" XML-Parser.

http://lmgtfy.com/?q=perl+parse+xml

Grüße

Max
Member: poopie
poopie May 11, 2009 at 20:31:18 (UTC)
Goto Top
Wenn ich das wie folgt mache klappte es teilweise

so funktioniert es

my $found;
$_ = '<option selected="selected">MEIN TEXT</option>';
if( /\>{1}(.*?)\<{1}/ ) { $found = $1; }
open (out,">test.txt");
print out $found;


so leider nicht, doch warum nicht?

open (FILEHANDLE,"<datei.txt");
my $string = do { local $/; <FILEHANDLE> };
my $found;
$_ = '$string';
if( /\>{1}(.*?)\<{1}/ ) { $found = $1; }
open (out,">test.txt");
print out $found;